1

我对 Spring Integration 还很陌生,但仍在努力解决它。现在我只是想了解我在这里找到的示例是否在多个线程中实际上是安全的:

https://github.com/spring-projects/spring-integration-samples/blob/master/basic/jms/src/test/java/org/springframework/integration/samples/jms/ChannelAdapterDemoTest.java

我的用例如下:

  • 将请求发送到带有 JMS 回复的队列作为临时队列
  • 等待在临时队列上收到响应
  • 需要在一个方法中同步发生 - 我不想将它拆分并使其在多个方法之间异步

上面的例子能解决这个问题吗?如果不是,我是不是找错树了?

提前致谢。

4

1 回答 1

1

该示例非常简单;它只是将消息发送给stdout所以,是的,它是完全线程安全的。

对于您正在谈论的请求/回复场景,您需要使用<gateway/>- 请参阅该示例项目中的另一个示例。在这种情况下,您可以看到消息由“demoBean”处理,这也是完全线程安全的。

对于实际应用程序,线程安全性取决于接收消息的流调用的服务中的代码。

如果您愿意,您也可以在客户端使用 Spring Integration(带有出站网关)。

于 2013-10-21T12:59:25.087 回答