我有一個javax.jms.Queue隊列,並讓我的偵聽器偵聽此隊列。我得到消息(一個字符串)並執行一個將該字符串作爲輸入參數傳遞給該進程的進程。一次偵聽一個jms隊列並只處理10條消息
我想只運行一次運行該進程的10個實例。一旦這些完成後,只有下一條消息應該被處理。
如何實現?由於它一次讀取所有消息並運行該進程運行的許多實例,導致服務器被掛起。
// using javax.jms.MessageListener
message = consumer.receive(5000);
if (message != null) {
try {
handler.onMessage(message); //handler is MessageListener instance
}
}
請將代碼顯示在哪裏,您的監聽器將消息拖放到進程中。 – Aify
我正在使用javax.jms.MessageListener。 message = consumer.receive(5000); 如果(消息!= NULL){ \t \t \t嘗試{ \t \t \t \t handler.onMessage(消息); } handler是MessageListener實例。 – user3262365
您的進程是在線程上執行還是在另一個JVM /本機/任意進程上執行? –