https://sonar.spring.io/component_issues?id=org.springframework.integration%3Aspring-integration%3Amaster#resolved=false|types=BUG In `IntegrationFlowRegistration` double check locking is ok for `inputChannel` because we're assigning an existing object, but `MessagingTemplate` constructs a new object for which double check locking doesn't work. In any case, for both these items, the chance of concurrent access is extremely low and is idempotent anyway, so remove double check locking. Several inner classes can be static. Other minor fixes.