我正在使用MessageListener来读取指定队列中的消息,并希望在队列中收到消息后执行处理。
这是我的代码
@Bean
public MessageListenerContainer messageListenerContainer()
{
SimpleMessageListenerContainer messageListenerContainer = new SimpleMessageListenerContainer();
messageListenerContainer.setConnectionFactory(connectionFactory());
messageListenerContainer.setQueueNames("queue");
messageListenerContainer.setMessageListener(vceListener());
return messageListenerContainer;
}
@Bean
public VListener vceListener()
{
return new VListener();
}
@Component
public class VListener implements MessageListener
{
@Override
public void onMessage(Message message)
{
//start process
}
}
我对一条消息的处理时间更长,当一个消息进程正在进行时,我无法处理队列中的另一条消息。
所以,我无法并行处理多条消息
答案 0 :(得分:0)
添加
messageListenerContainer.setConcurrentConsumers(5);
(或者你需要的任何并发)。