jos*_*hwa 23 java multithreading activemq-classic jms
我有一个web-app,当用户提交请求时,我们将JMS消息发送到远程服务,然后等待回复.(还有异步请求,我们为消息重放设置了各种各样的细节,所以我们更喜欢坚持使用JMS而不是HTTP)
在如何使用JMS实现请求响应?,ActiveMQ似乎不鼓励每个请求的临时队列或JMSCorrelationID上带有选择器的临时使用者的想法,因为旋转它们所涉及的开销.
但是,如果我使用池化消费者进行回复,我如何从回复消费者发送回原始请求线程?
我当然可以编写自己的线程安全回调 - 注册/调度,但我讨厌编写我怀疑已经由比我知道的更好的人编写的代码.
那个ActiveMQ页面推荐自2006年以来一直没有更新过的Lingo和Camel Spring Remoting,我的团队已经因为它的许多漏洞而被hellbanned.
是否有更好的解决方案,以实现此模式的库的形式,或以不同模式的形式模拟JMS上的同步请求 - 回复?
相关问题:
一位同事提出了一种潜在的解决方案——每个 webapp 线程一个响应队列/消费者,我们可以将返回地址设置为该特定线程拥有的响应队列。由于这些线程通常是长期存在的(并且会重新用于后续的 Web 请求),因此我们只需承受池生成线程时的开销。
也就是说,这整个练习让我重新思考 JMS 与 HTTP...:)
归档时间: |
|
查看次数: |
15828 次 |
最近记录: |