Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ActiveMQ重新激活,Spring集成聚合器不工作_Activemq_Spring Integration - Fatal编程技术网

ActiveMQ重新激活,Spring集成聚合器不工作

ActiveMQ重新激活,Spring集成聚合器不工作,activemq,spring-integration,Activemq,Spring Integration,我正在侦听来自activeMq嵌入式代理队列的消息(比如原始消息)。此消息首先移动到通道,然后传递到路由器,并基于其传递到聚合器的条件。聚合器等待另一条消息,然后将部分消息或聚合消息传递给服务激活器类 基于某些逻辑激活器类,我们决定抛出异常,并期望消息再次交付,因为我们已经配置了ActiveMQ代理端重新交付插件 如果没有聚合器,则消息将被正确地重新传递,并且如果达到最大重试次数,则消息将被移动到DLQ,但如果聚合器出现在图片中,则消息将不会被重新传递。 我不确定,但我认为聚合的消息与原始消息不

我正在侦听来自activeMq嵌入式代理队列的消息(比如原始消息)。此消息首先移动到通道,然后传递到路由器,并基于其传递到聚合器的条件。聚合器等待另一条消息,然后将部分消息或聚合消息传递给服务激活器类

基于某些逻辑激活器类,我们决定抛出异常,并期望消息再次交付,因为我们已经配置了ActiveMQ代理端重新交付插件

如果没有聚合器,则消息将被正确地重新传递,并且如果达到最大重试次数,则消息将被移动到DLQ,但如果聚合器出现在图片中,则消息将不会被重新传递。 我不确定,但我认为聚合的消息与原始消息不同,这就是代理无法将该消息再次移动到队列的原因,因为聚合的消息不是原始消息


是否有任何方法可以处理此场景并启用重新传递,或者以任何其他方式将两条原始消息传递给聚合器,以便将它们再次移动到队列中进行反复侦听,直到代理将它们移动到DQL

您的问题不清楚-如果消息到达聚合器,它将被存储用于聚合目的;从JMS交付的角度来看,它是成功的

您不能从代理的角度追溯“拒绝”已被接受的JMS消息


如果我了解您的需求,您将需要一个并发性>1的侦听器容器(以便可以处理第二条消息)和您自己的代码,该代码由服务激活器(而不是聚合器)调用,以保留第一个线程,直到第二个线程到达;如果您的情况发生,则拒绝这两条消息。

您的问题不清楚-如果消息到达聚合器,则将其存储以用于聚合目的;从JMS交付的角度来看,它是成功的

您不能从代理的角度追溯“拒绝”已被接受的JMS消息

如果我了解您的需求,您将需要一个并发性>1的侦听器容器(以便可以处理第二条消息)和您自己的代码,该代码由服务激活器(而不是聚合器)调用,以保留第一个线程,直到第二个线程到达;如果您的情况发生,则拒绝这两条消息