![](/img/trans.png)
[英]Spring Integration: How to use SingleConnectionFactory with ActiveMQ?
[英]How to use ActiveMQ queue with Spring Integration
我有一個本地ActiveMQ服務器,我想使用Spring Integration從名為“ test”的隊列中輪詢消息。
查詢完消息后,我想將其發送到另一個通道,該通道將其寫入文件系統中的文本文件中。
我看到了一些使用示例
<int-jms:message-driven-channel-adapter id="jmsIn" destination="inQueue" channel="exampleChannel"/>
我想使用Java注釋創建此JMS“輪詢器”。 我找不到任何有關如何將上述XML內容替換為注釋的參考。 誰能提供一個可以正常工作的代碼段,該代碼段將具有連接工廠配置和帶有注釋的jms:message-driven-channel-adapter嗎?
PS這是具有XML配置的參考
在此先多謝!
好吧,對於正確的Java和注釋配置,您需要考慮使用Spring Integration Java DSL 。
這是等效於<int-jms:message-driven-channel-adapter>
一些示例:
@Bean
public IntegrationFlow jmsMessageDrivenRedeliveryFlow() {
return IntegrationFlows
.from(Jms.messageDrivenChannelAdapter(jmsConnectionFactory())
.errorChannel(IntegrationContextUtils.ERROR_CHANNEL_BEAN_NAME)
.destination("jmsMessageDrivenRedelivery")
.configureListenerContainer(c -> c
.transactionManager(mock(PlatformTransactionManager.class))
.id("jmsMessageDrivenRedeliveryFlowContainer")))
.<String, String>transform(p -> {
throw new RuntimeException("intentional");
})
.get();
}
要寫入文件,您需要使用Files.outboundAdapter()
: https : Files.outboundAdapter()
我同意我們缺少JMS的類似文檔部分,因此隨時可以提出JIRA。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.