2016-07-27 14 views
0

私はMessageListenerを使用して指定されたキューからメッセージを読み込み、ここで前のメッセージ処理が進行中の場合、spring-amqp onMessage()メソッドは次のメッセージを処理しません。

は私のコードは私の処理時間が一つのメッセージのためのより多くので、1つのメッセージプロセスが起こっているとき、私はキューに来ている別のメッセージを処理するカント

@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 
    } 
} 

です。

ので、カント私は

messageListenerContainer.setConcurrentConsumers(5); 

(または任意の同時実行に必要)を追加し、並列

答えて

関連する問題