我的用例是在我们的项目中实施通知服务。
我们已经将spring与jms结合使用,并且将其与rest服务一起使用可以正常工作。能够使用JMSTemplate的convertAndSend()和convertAndReceive()函数从一个应用程序发送消息到队列,并从另一个应用程序的队列接收消息。
现在,我想使用Spring Integration的java dsl方法做到这一点。我们通过在具有ActiveMQ的单个应用程序中使用Jms的inboundGateway()和outboundGateway()进行了示例。
如何在不同的应用程序中使用spring Integration的java dsl仅用于发送/接收消息?
这是我的代码,
@Bean
public IntegrationFlow jmsInboundFlow() {
return IntegrationFlows
.from(Jms.inboundGateway(this.connectionFactory)
.destination("pan.outbound"))
.transform((String s) -> s.toUpperCase())
.channel("in-bound-request-channel")
.get();
}
@Bean
public IntegrationFlow jmsOutboundGatewayFlow() {
return IntegrationFlows.from("out-bound-request-channel")
.handle(Jms.outboundGateway(this.connectionFactory)
.requestDestination("pan.outbound"))
.log()
.bridge()
.get();
}
@MessagingGateway
interface EchoGateway {
@Gateway(requestChannel = "out-bound-request-channel")
String send(String message);
}
答案 0 :(得分:1)
您只需要拆分配置-一个应用程序中的JMS入站适配器,第二个应用程序中的JMS出站。 方式与一个应用程序完全相同吗? (也许我错过了一些信息?)