我正在尝试在REST接口后面实现消息生成器。消息生成器使用请求/回复模式。在阅读Camel生产者的文档时,请注意每个应用程序只应创建一个生产者。
生产者线程是否安全,以便我可以从多个线程调用send方法?当几个并发请求正在等待相关回复时它能正常工作吗?如何使用Spring,Tomcat和Jersey最好地实现它?
谢谢。
答案 0 :(得分:4)
是的,Apache Camel中的生产者和消费者模板都是线程安全的。
是的,请求/回复正常。它是如何实现的是Camel路由引擎和正在使用的组件之间的混合。
例如,REST和JMS的工作方式略有不同。 JMS将使用单独的消息队列来获取回复,其中有一个JMSCorrelationID,用于关联回复消息。
由于HTTP的同步特性,REST通常是同步调用。但它取决于底层组件,因为有些支持http客户端上的异步通信,如camel-jetty,camel-ahc等。