JMS 대기열과 관련하여 질문이 있습니다.2 개의 청취자가있는 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 ();
}
답장을 보내 주신 @AlexR에게 어떻게 답변 할 수 있습니까? 메시지 자체에 설정되어 있고 반드시 발신자와의 연결이 아닌가? Reciever에서 QueuReciever 생성시 selector가 지정됩니까? 'final QueueReceiver queueReceiver = session.createReceiver (queue, "JMS_SELECTOR");' – PMC2013