22
22
import org .springframework .beans .BeansException ;
23
23
import org .springframework .beans .factory .BeanFactory ;
24
24
import org .springframework .beans .factory .BeanFactoryAware ;
25
+ import org .springframework .beans .factory .BeanInitializationException ;
25
26
import org .springframework .beans .factory .FactoryBean ;
26
27
import org .springframework .beans .factory .InitializingBean ;
27
28
import org .springframework .integration .handler .support .CollectionArgumentResolver ;
@@ -54,7 +55,7 @@ class MessageHandlerMethodFactoryCreatingFactoryBean
54
55
55
56
private final boolean listCapable ;
56
57
57
- MessageConverter argumentResolverMessageConverter ;
58
+ private MessageConverter argumentResolverMessageConverter ;
58
59
59
60
private BeanFactory beanFactory ;
60
61
@@ -77,7 +78,7 @@ public Class<?> getObjectType() {
77
78
}
78
79
79
80
@ Override
80
- public MessageHandlerMethodFactory getObject () throws Exception {
81
+ public MessageHandlerMethodFactory getObject () {
81
82
DefaultMessageHandlerMethodFactory handlerMethodFactory = new DefaultMessageHandlerMethodFactory ();
82
83
handlerMethodFactory .setBeanFactory (this .beanFactory );
83
84
handlerMethodFactory .setMessageConverter (this .argumentResolverMessageConverter );
@@ -86,7 +87,7 @@ public MessageHandlerMethodFactory getObject() throws Exception {
86
87
return handlerMethodFactory ;
87
88
}
88
89
89
- private List <HandlerMethodArgumentResolver > buildArgumentResolvers (boolean listCapable ) throws Exception {
90
+ private List <HandlerMethodArgumentResolver > buildArgumentResolvers (boolean listCapable ) {
90
91
List <HandlerMethodArgumentResolver > resolvers = new ArrayList <>();
91
92
resolvers .add (new PayloadExpressionArgumentResolver ());
92
93
resolvers .add (new NullAwarePayloadArgumentResolver (this .argumentResolverMessageConverter ));
@@ -100,7 +101,12 @@ private List<HandlerMethodArgumentResolver> buildArgumentResolvers(boolean listC
100
101
((BeanFactoryAware ) resolver ).setBeanFactory (this .beanFactory );
101
102
}
102
103
if (resolver instanceof InitializingBean ) {
103
- ((InitializingBean ) resolver ).afterPropertiesSet ();
104
+ try {
105
+ ((InitializingBean ) resolver ).afterPropertiesSet ();
106
+ }
107
+ catch (Exception ex ) {
108
+ throw new BeanInitializationException ("Cannot initialize 'HandlerMethodArgumentResolver'" , ex );
109
+ }
104
110
}
105
111
}
106
112
return resolvers ;
0 commit comments