删除 "ActiveMQ.Advisory.Producer.x" 前缀
Remove "ActiveMQ.Advisory.Producer.x" prefix
问题:
- 生产者以某种方式将事件发送到“ActiveMQ.Advisory.Producer.Queue.Queue”而不是“队列”
主题部分中的 Active-MQ 管理控制台带有生产者队列的屏幕截图:(不确定为什么它有队列和 0 个消费者以及排队的消息数 = 38)
队列部分中的 Active-MQ 管理控制台消费者队列截图:(它显示消费者 = 1 但排队的消息数 = 0)
正在附加生产者、消费者和配置代码。
制作人
public void sendMessage(WorkflowRun message){
var queue = "Queue";
try{
log.info("Attempting Send message to queue: "+ queue);
jmsTemplate.convertAndSend(queue, message);
} catch(Exception e){
log.error("Recieved Exception during send Message: ", e);
}
}
听众
@JmsListener(destination = "Queue")
public void messageListener(SystemMessage systemMessage) {
LOGGER.info("Message received! {}", systemMessage);
}
配置
@Value("${spring.active-mq.broker-url}")
private String brokerUrl;
@Bean
public ConnectionFactory connectionFactory() throws JMSException {
ActiveMQConnectionFactory activeMQConnectionFactory = new ActiveMQConnectionFactory();
activeMQConnectionFactory.setBrokerURL(brokerUrl);
activeMQConnectionFactory.setWatchTopicAdvisories(false);
activeMQConnectionFactory.createQueueConnection(ActiveMQConnectionFactory.DEFAULT_USER,
ActiveMQConnectionFactory.DEFAULT_PASSWORD);
return activeMQConnectionFactory;
}
当您的生产者启动时,ActiveMQ 代理会生成一个 'Advisory Message' 并将其发送到该主题。计数表示为queue://Queuee创建了多少个生产者--本例中创建了38个生产者。
由于未生成消息,因此在您的 Spring 连接中,您创建了连接、会话和生成器对象——但未发送消息。
此外,如果您正在显示 queue://ActiveMQ.Advisory.. 显示,您可能在应用程序的其他部分(或监控工具?)中存在错误,应该配置为使用主题://ActiveMQ.Advisory.. 而不是队列://
问题:
- 生产者以某种方式将事件发送到“ActiveMQ.Advisory.Producer.Queue.Queue”而不是“队列”
主题部分中的 Active-MQ 管理控制台带有生产者队列的屏幕截图:(不确定为什么它有队列和 0 个消费者以及排队的消息数 = 38)
队列部分中的 Active-MQ 管理控制台消费者队列截图:(它显示消费者 = 1 但排队的消息数 = 0)
正在附加生产者、消费者和配置代码。
制作人
public void sendMessage(WorkflowRun message){
var queue = "Queue";
try{
log.info("Attempting Send message to queue: "+ queue);
jmsTemplate.convertAndSend(queue, message);
} catch(Exception e){
log.error("Recieved Exception during send Message: ", e);
}
}
听众
@JmsListener(destination = "Queue")
public void messageListener(SystemMessage systemMessage) {
LOGGER.info("Message received! {}", systemMessage);
}
配置
@Value("${spring.active-mq.broker-url}")
private String brokerUrl;
@Bean
public ConnectionFactory connectionFactory() throws JMSException {
ActiveMQConnectionFactory activeMQConnectionFactory = new ActiveMQConnectionFactory();
activeMQConnectionFactory.setBrokerURL(brokerUrl);
activeMQConnectionFactory.setWatchTopicAdvisories(false);
activeMQConnectionFactory.createQueueConnection(ActiveMQConnectionFactory.DEFAULT_USER,
ActiveMQConnectionFactory.DEFAULT_PASSWORD);
return activeMQConnectionFactory;
}
当您的生产者启动时,ActiveMQ 代理会生成一个 'Advisory Message' 并将其发送到该主题。计数表示为queue://Queuee创建了多少个生产者--本例中创建了38个生产者。
由于未生成消息,因此在您的 Spring 连接中,您创建了连接、会话和生成器对象——但未发送消息。
此外,如果您正在显示 queue://ActiveMQ.Advisory.. 显示,您可能在应用程序的其他部分(或监控工具?)中存在错误,应该配置为使用主题://ActiveMQ.Advisory.. 而不是队列://