2013-10-21 70 views
1

我對Spring集成很陌生,仍然試圖繞過它。現在我只是想了解如果我發現這裏的例子是在多個線程實際上安全:Spring集成JMS Threadsafe

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

我的使用情況如下:

  • 發送請求排隊JMS回覆爲臨時隊列
  • 等待在臨時隊列上接收到響應
  • 需要在一個方法中同步發生這種情況 - 我不想將它分解並使其跨s幾種方法

上面的例子會爲此工作嗎?如果不是,我吠叫錯了樹嗎?

在此先感謝。

回答

1

該示例非常簡單;它只是將消息發送到stdout,所以,是的,它完全是線程安全的。

對於您所要求的請求/回覆場景,您需要使用<gateway/> - 請參閱the other example in that sample project。在這種情況下,你可以看到message is handled by 'demoBean',它又是完全線程安全的。

對於真正的應用程序,線程安全性取決於接收消息的流所調用的服務中的代碼。

如果您願意,也可以在客戶端使用Spring Integration(使用出站網關)。