相关疑难解决方法(0)

与JMS/ActiveMQ并发同步请求 - 模式 - 模式/库?

我有一个web-app,当用户提交请求时,我们将JMS消息发送到远程服务,然后等待回复.(还有异步请求,我们为消息重放设置了各种各样的细节,所以我们更喜欢坚持使用JMS而不是HTTP)

如何使用JMS实现请求响应?,ActiveMQ似乎不鼓励每个请求的临时队列或JMSCorrelationID上带有选择器的临时使用者的想法,因为旋转它们所涉及的开销.

但是,如果我使用池化消费者进行回复,我如何从回复消费者发送回原始请求线程?

我当然可以编写自己的线程安全回调 - 注册/调度,但我讨厌编写我怀疑已经由比我知道的更好的人编写的代码.

那个ActiveMQ页面推荐自2006年以来一直没有更新过的LingoCamel Spring Remoting,我的团队已经因为它的许多漏洞而被hellbanned.

是否有更好的解决方案,以实现此模式的库的形式,或以不同模式的形式模拟JMS上的同步请求 - 回复?


相关问题:

java multithreading activemq-classic jms

23
推荐指数
1
解决办法
2万
查看次数

如何进行JMS同步请求

我有一个webapp,可以从外部应用程序获取和显示数据,只能通过消息传递(JMS)访问.

因此,如果用户在浏览器上提交请求,则相同的HTTP请求线程必须与Messaging系统(MQ Series)交互,以便相同的请求线程可以显示从Messaging System接收的数据.

我可以在这里使用一种模式吗?我在网上看到了一些模糊的引用,它们以这种方式使用"Correlation ID":

Msg m = new TextMsg("findDataXYZ");
String cr_id = m.setCorrelationID(id);

sendQueue.send(m).

// now start listening to the Queue for a msg that bears that specific cr_id

Response r = receiverQueue.receive(cr_id);
Run Code Online (Sandbox Code Playgroud)

那里有更好的东西吗?我发现其他模式期望响应是异步接收的..这对我来说不是一个选项,因为我必须在同一个HTTP请求上发回响应.

java architecture jms ibm-mq

11
推荐指数
2
解决办法
2万
查看次数