JMS キューに関して質問があります。
私が利用できる唯一のキューであり、私が使用できる唯一のキューとして、共有キューを使用してjmsセンダー/レシーバーを実装しました。
私が今直面している問題は、この先着順であるため、プロデューサーから送信しているメッセージが、このキューを共有している他のユーザーではなく、私の消費者によって消費されることを保証できないことです。だから私は他のアプリのメッセージを消費していて、彼らは私のものを消費しています。
メッセージをリッスンしてキューから消費しない方法はありますか、それともトピックの実装ですか?
または、消費者だけが取得する識別子を明示的に設定することもできます。
私の主なコード:
public class AsyncReceiver implements MessageListener, ExceptionListener
{
public static void main(String[] args) throws Exception
{
//create queue factory
factory = new TibjmsQueueConnectionFactory(serverUrl);
//create queue connection
queueConn = factory.createQueueConnection(userName, password);
queueConn.setExceptionListener(this);
//create queue session
session = queueConn.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
//receive message by QueueReceiver
final Queue queue = session.createQueue(queueName);
final QueueReceiver queueReceiver = session.createReceiver(queue);
queueReceiver.setMessageListener(this);
queueConn.start ();
}