【发布时间】:2017-06-24 14:27:02
【问题描述】:
在服务激活器文档中它说:
如果自定义服务激活器处理程序实现可以在其他定义中重用,通常建议使用“ref”属性。
但下面的 sn-p 给了我
IllegalArgumentException:AbstractReplyProducingMessageHandler 只能被引用一次
<bean id="groupResequencer" class="com.core.flow.GroupResequencer"/>
<int:service-activator id="groupResequencer1" ref="groupResequencer"/>
<int:service-activator id="groupResequencer2" ref="groupResequencer"/>
当我将 bean 定义更改为原型时,它可以工作,但 onInit() 方法被调用了两次,一次使用通用组件名称,第二次使用 spring 集成服务激活器 ID 作为组件名称。
bean 是单例还是原型对我来说并不重要,但我需要一个只发生一次的干净创建。
【问题讨论】: