Java Spring集成AbstractReplyProducingMessageHandler doInit vs onInit
我正在将一些代码从SpringIntegration2.x重构到4.x,并在扩展Java Spring集成AbstractReplyProducingMessageHandler doInit vs onInit,java,spring,spring-integration,message-handlers,Java,Spring,Spring Integration,Message Handlers,我正在将一些代码从SpringIntegration2.x重构到4.x,并在扩展AbstractReplyProducingMessageHandler的处理程序中遇到编译错误 该抽象类上的onInit方法是final,但是我的legacy代码在2.0 S.I.代码中成功地覆盖了它 有一种方法似乎可以被过度调用 doInit() onInit方法和doInit方法在使用上有什么区别。java文档不是很有帮助(事实上,除了onInit方法是final)之外,它们不包含任何信息)是的,你是对的:这
AbstractReplyProducingMessageHandler
的处理程序中遇到编译错误
该抽象类上的onInit
方法是final
,但是我的legacy
代码在2.0 S.I.代码中成功地覆盖了它
有一种方法似乎可以被过度调用
doInit()
onInit
方法和doInit
方法在使用上有什么区别。java文档不是很有帮助(事实上,除了onInit
方法是final
)之外,它们不包含任何信息)是的,你是对的:这些方法没有区别,它们只是从IntegrationObjectSupport#afterPropertiesSet()调用的
将onInit()
设置为final
的原因是为了保护实现不受在其实现中调用super.onInit()
的问题的影响:-)
如您所见,AbstractReplyProducingMessageHandler#onInit()
具有如下关键代码:
this.advisedRequestHandler = (RequestHandler) proxyFactory.getProxy(this.beanClassLoader);
请务必结帐。这特别的突破性变化是。谢谢你们。我读过3.x到4.x的迁移指南,但没有读过2.2到3.0的迁移指南。