Java 删除“;ActiveMQ.advision.Producer.x“;前缀

Java 删除“;ActiveMQ.advision.Producer.x“;前缀,java,spring-boot,activemq,Java,Spring Boot,Activemq,问题: 不知何故,生产者正在将事件发送到“ActiveMQ.Advisory.producer.Queue.Queue”而不是“Queue” 主题部分中的活动MQ管理控制台与生产者队列的屏幕截图:(不确定为什么它有队列和0个消费者,消息排队数=38) 队列中的活动MQ管理控制台部分消费者队列屏幕截图:(显示消费者=1,但排队的消息数=0) 附加生产者、消费者和配置代码 制作人 公共void发送消息(WorkflowRun消息){ var queue=“queue”; 试一试{ log.i

问题:

  • 不知何故,生产者正在将事件发送到“ActiveMQ.Advisory.producer.Queue.Queue”而不是“Queue”
主题部分中的活动MQ管理控制台与生产者队列的屏幕截图:(不确定为什么它有队列和0个消费者,消息排队数=38)

队列中的活动MQ管理控制台部分消费者队列屏幕截图:(显示消费者=1,但排队的消息数=0)

附加生产者、消费者和配置代码

制作人

公共void发送消息(WorkflowRun消息){
var queue=“queue”;
试一试{
log.info(“正在尝试将消息发送到队列:“+队列”);
convertAndSend(队列、消息);
}捕获(例外e){
log.error(“发送消息时收到异常:”,e);
}
}
听众

@JmsListener(destination=“Queue”)
public void messageListener(SystemMessage SystemMessage){
info(“收到消息!{}”,systemMessage);
}
配置

@Value(${spring.active mq.broker url})
私有字符串代理;
@豆子
public ConnectionFactory ConnectionFactory()引发JMSExException{
ActiveMQConnectionFactory ActiveMQConnectionFactory=新的ActiveMQConnectionFactory();
activeMQConnectionFactory.setBrokerURL(brokerUrl);
activeMQConnectionFactory.setWatchTopicAdvisories(false);
activeMQConnectionFactory.createQueueConnection(activeMQConnectionFactory.DEFAULT_用户,
ActiveMQConnectionFactory.DEFAULT_密码);
返回activeMQConnectionFactory;
}

当生产者启动时,ActiveMQ代理会生成一条“建议消息”,并将其发送到该主题。该计数表示已为该项目创建了多少生产商queue://Queuee-- 在这种情况下,已经创建了38个生产商

由于没有生成消息,因此在Spring连接中,似乎创建了连接、会话和生产者对象,但没有发送消息


此外,如果您正在显示queue://ActiveMQ.Advisory.. 当你出现在应用程序的其他部分(或监控工具?)时,你可能有一个bug,应该配置为从中消费topic://ActiveMQ.Advisory.. 与队列相反://

我建议您阅读。我已禁用“activeMQConnectionFactory.setWatchTopicAdvisories(false);”如上面的文档链接所述。但它不起作用,你有其他解决办法吗?