@@ -160,21 +160,7 @@ public Object postProcess(Object bean, String beanName, Method method, List<Anno
160160 producerOrRouter (annotations , handler );
161161
162162 if (!handler .equals (sourceHandler )) {
163- String handlerBeanName = generateHandlerBeanName (beanName , method );
164- if (handler instanceof ReplyProducingMessageHandlerWrapper
165- && StringUtils .hasText (MessagingAnnotationUtils .endpointIdValue (method ))) {
166- handlerBeanName = handlerBeanName + ".wrapper" ;
167- }
168- if (handler instanceof IntegrationObjectSupport ) {
169- ((IntegrationObjectSupport ) handler ).setComponentName (
170- handlerBeanName .substring (0 ,
171- handlerBeanName .indexOf (IntegrationConfigUtils .HANDLER_ALIAS_SUFFIX )));
172- }
173- this .beanFactory .registerSingleton (handlerBeanName , handler );
174- handler = (MessageHandler ) this .beanFactory .initializeBean (handler , handlerBeanName );
175- if (handler instanceof DisposableBean && this .disposables != null ) {
176- this .disposables .add ((DisposableBean ) handler );
177- }
163+ handler = registerHandlerBean (beanName , method , handler );
178164 }
179165
180166 handler = annotated (method , handler );
@@ -189,6 +175,25 @@ public Object postProcess(Object bean, String beanName, Method method, List<Anno
189175 }
190176 }
191177
178+ private MessageHandler registerHandlerBean (String beanName , Method method , MessageHandler handler ) {
179+ String handlerBeanName = generateHandlerBeanName (beanName , method );
180+ if (handler instanceof ReplyProducingMessageHandlerWrapper
181+ && StringUtils .hasText (MessagingAnnotationUtils .endpointIdValue (method ))) {
182+ handlerBeanName = handlerBeanName + ".wrapper" ;
183+ }
184+ if (handler instanceof IntegrationObjectSupport ) {
185+ ((IntegrationObjectSupport ) handler ).setComponentName (
186+ handlerBeanName .substring (0 ,
187+ handlerBeanName .indexOf (IntegrationConfigUtils .HANDLER_ALIAS_SUFFIX )));
188+ }
189+ this .beanFactory .registerSingleton (handlerBeanName , handler );
190+ handler = (MessageHandler ) this .beanFactory .initializeBean (handler , handlerBeanName );
191+ if (handler instanceof DisposableBean && this .disposables != null ) {
192+ this .disposables .add ((DisposableBean ) handler );
193+ }
194+ return handler ;
195+ }
196+
192197
193198 private void orderable (Method method , MessageHandler handler ) {
194199 if (handler instanceof Orderable ) {
0 commit comments