Jms ActiveMQ trackMessages属性不工作

Jms ActiveMQ trackMessages属性不工作,jms,activemq,logback,failover,Jms,Activemq,Logback,Failover,我使用ActiveMQ作为我的JMS系统,它从logback中获取日志消息。客户端是一个webapp。客户机和代理都在不同的机器上 我的要求是,如果客户端无法连接到代理,那么它应该存储消息,直到重新连接代理。我尝试使用中提到的故障切换。我的连接URL如下所示: failover:(tcp://10.17.67.116:61616?wireFormat.maxInactivityDuration=0)?trackMessages=true&maxReconnectDelay=10000&a

我使用ActiveMQ作为我的JMS系统,它从logback中获取日志消息。客户端是一个webapp。客户机和代理都在不同的机器上

我的要求是,如果客户端无法连接到代理,那么它应该存储消息,直到重新连接代理。我尝试使用中提到的故障切换。我的连接URL如下所示:

failover:(tcp://10.17.67.116:61616?wireFormat.maxInactivityDuration=0)?trackMessages=true&maxReconnectDelay=10000&timeout=3000
trackMessages=true属性应该在客户端缓存正在运行的消息,该消息将在以后出现时传递给代理。现在,我的问题是,在代理出现之后,我看不到它收到任何应该传递的消息


ActiveMQ的配置哪里出了问题?这似乎是一个相当简单和直接的实现,但不起作用。

我认为
trackMessages=true
仅在出现故障的情况下才起作用,即客户端首先连接到服务器,但在发送()过程中或提交事务之前断开连接。在这种情况下,
failover
协议应该能够缓存少量消息(取决于
maxCacheSize
),并在服务器返回后立即将它们发送到服务器

尝试在一个事务中发送一批100条消息,并在每次发送消息时延迟1秒。因此,消息生成器需要100秒才能完成事务。然后同时尝试在这100秒内重新启动服务器,看看它是否收到这100条消息

参考-