我正在尝试将我的工作 spring 集成xml配置转换为注释,我想知道注释应该用于消息驱动的通道,或者是否有任何注释?它会是@JMSListener吗?
<jms:message-driven-channel-adapter id="jmsIn" channel="jmsInChannel" destination="request" error-channel="errorChannel"/>
不,你不需要担心那里的任何注释 .
<jms:message-driven-channel-adapter> 的类是 JmsMessageDrivenEndpoint ,因为它是 message-driven ,它本身就是一个东西 .
<jms:message-driven-channel-adapter>
JmsMessageDrivenEndpoint
message-driven
因此,您应该将其声明为 @Bean 及其依赖项 .
@Bean
从另一方面来看,如果您要使用 AbstractMessageListenerContainer 和 ChannelPublishingJmsMessageListener 依赖项提供足够的自定义,那么最终可能会有点复杂 .
AbstractMessageListenerContainer
ChannelPublishingJmsMessageListener
考虑使用Spring Integration Java DSL,它已经完全针对类似的混淆案例引入:简化XML配置如何转移到Java和Annotations配置的方式 .
您可以在那里找到JMS适配器的测试:https://github.com/spring-projects/spring-integration-java-dsl/blob/master/src/test/java/org/springframework/integration/dsl/test/jms/JmsTests.java
1 回答
不,你不需要担心那里的任何注释 .
<jms:message-driven-channel-adapter>
的类是JmsMessageDrivenEndpoint
,因为它是message-driven
,它本身就是一个东西 .因此,您应该将其声明为
@Bean
及其依赖项 .从另一方面来看,如果您要使用
AbstractMessageListenerContainer
和ChannelPublishingJmsMessageListener
依赖项提供足够的自定义,那么最终可能会有点复杂 .考虑使用Spring Integration Java DSL,它已经完全针对类似的混淆案例引入:简化XML配置如何转移到Java和Annotations配置的方式 .
您可以在那里找到JMS适配器的测试:https://github.com/spring-projects/spring-integration-java-dsl/blob/master/src/test/java/org/springframework/integration/dsl/test/jms/JmsTests.java