gpt4 book ai didi

java - springrabbitmq jsf互操作问题

转载 作者:太空宇宙 更新时间:2023-11-04 13:54:17 25 4
gpt4 key购买 nike

我有一个 JSF 支持 bean 和 spring+rabbitMQ 应用程序。我调用那里

rabbitTemplate.convertAndSend(<send to the main queue - not first which I mentioned below>)

由于复杂的逻辑、队列链等,我无法在那里使用convertSendAndReceive。问题是我有一个输出队列及其监听器。该监听器充当路由器,在队列之间分派(dispatch)请求、调用函数等

但是我需要返回给客户“OK”字符串,以防它已在第一个队列上处理。然后,该消息将进一步进入下一个队列,但在第一个队列之后,我需要用“OK”消息通知我的客户。换句话说,就像

rabbitTemplate.convertAndSend
while(<wait for sth>){
if(message comes){
//send "OK" to customer back
//I would listen here for my output queue, but I already have a listener, how I can be sure that my message will come to my listener here, not there?

}
}

所以问题是 - 如何确认我的 JSF bean 我的消息已通过第一个队列并发回响应?

最佳答案

RabbitTemplate 具有类似于 setConfirmCallback 的选项。这样,您应该为 convertAndSend 提供一个参数,其中包含

中的 CorrelationDatacorrelate
void confirm(CorrelationData correlationData, boolean ack, String cause);

在发送OK响应之前实现等待。

关于java - springrabbitmq jsf互操作问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29996310/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com