簡體   English   中英

如何在Spring Integration中使用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配置的參考

https://examples.javacodegeeks.com/enterprise-java/spring/integration/spring-boot-integration-activemq-example/

在此先多謝!

好吧,對於正確的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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM