我在 Micro CloudFoundry 中部署了两个 Spring MVC 应用程序,一个是读取文件并将近 3325 条消息发送到 RabbitMQ 中的一个带有主题 Exchange 的队列,另一个是在异步 MessageListener 的帮助下使用这些消息。问题是,侦听器收到的消息没有任何顺序。我认为一次至少有两个侦听器线程在运行。我尝试在 OnMessage() 方法中打印消息序列,如下所示。消息不是按顺序接收的,例如 12、13、12、13 的接收与模式的其余部分不同,这个计数实际上是与消息一起接收的传递标签。
Raw Message number: 1 contains: 1340099549587,BMA150 3-axis
Raw Message number: 1 contains: 1340099549626,BMA150 3-axis
Raw Message number: 2 contains: 1340099549666,BMA150 3-axis
Raw Message number: 2 contains: 1340099549705,BMA150 3-axis
Raw Message number: 3 contains: 1340099549746,BMA150 3-axis
Raw Message number: 3 contains: 1340099549810,BMA150 3-axis
Raw Message number: 4 contains: 1340099549866,BMA150 3-axis
Raw Message number: 4 contains: 1340099549906,BMA150 3-axis
Raw Message number: 5 contains: 1340099549951,BMA150 3-axis
Raw Message number: 5 contains: 1340099549999,BMA150 3-axis
Raw Message number: 6 contains: 1340099550063,BMA150 3-axis
Raw Message number: 6 contains: 1340099550063,BMA150 3-axis
Raw Message number: 7 contains: 1340099550112,BMA150 3-axis
Raw Message number: 7 contains: 1340099550169,BMA150 3-axis
Raw Message number: 8 contains: 1340099550258,BMA150 3-axis
Raw Message number: 8 contains: 1340099550210,BMA150 3-axis
Raw Message number: 9 contains: 1340099550324,BMA150 3-axis
Raw Message number: 9 contains: 1340099550362,BMA150 3-axis
Raw Message number: 10 contains: 1340099550380,BMA150 3-axis
Raw Message number: 10 contains: 1340099550417,BMA150 3-axis
Raw Message number: 11 contains: 1340099550456,BMA150 3-axis
Raw Message number: 11 contains: 1340099550496,BMA150 3-axis
Raw Message number: 12 contains: 1340099550535,BMA150 3-axis
Raw Message number: 13 contains: 1340099550575,BMA150 3-axis
Raw Message number: 12 contains: 1340099550616,BMA150 3-axis
Raw Message number: 13 contains: 1340099550714,BMA150 3-axis
Raw Message number: 14 contains: 1340099550682,BMA150 3-axis
Raw Message number: 14 contains: 1340099550748,BMA150 3-axis
Raw Message number: 15 contains: 1340099550795,BMA150 3-axis
Raw Message number: 15 contains: 1340099550850,BMA150 3-axis
这是我的 SimpleMessageListenerContainer 的代码:
@Bean
public SimpleMessageListenerContainer listenerContainer() {
SimpleMessageListenerContainer container = new SimpleMessageListenerContainer();
container.setConnectionFactory(connectionFactory());
container.setQueues(super.workQueue());
container.setConcurrentConsumers(1);
MessageListenerAdapter messageListenerAdapter = new MessageListenerAdapter(new MessageHandler());
container.setMessageListener(messageListenerAdapter);
return container;
}
我将非常感谢您的快速回复。
此致,