Syntax for selecting messages using Jms ID

What is the correct syntax for selecting messages based on their respective JMS identifier?

I am currently using:

String selector = "JMSMessageID='ID:305:1:5:1:1'"; messageConsumer = session.createConsumer(getRetryQueue(), selector); 

The above syntax works in a mock broker test. But in the direction of ActiveMQ messages are not polled.

Source:

 @Override public Message readMessageFromRetryQueueByJmsId(String jmsId) throws QueueingException { Connection connection = null; Session session = null; MessageConsumer messageConsumer = null; Message message = null; try { connection = getConnectionFactory().createConnection(); session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); messageConsumer = session.createConsumer(getRetryQueue(), "JMSMessageID='"+jmsId+"'"); message = messageConsumer.receiveNoWait(); } catch (JMSException e) { throw new QueueingException("Failed to read message from MessageConsumer."); } finally { try { messageConsumer.close(); } catch (Exception e) { /* NOP */ } try { session.close(); } catch (Exception e) { /* NOP */ } try { connection.close(); } catch (Exception e) { /* NOP */ } } return message; } 
+4
source share
1 answer

Messages were not read since the connection never started.

Corrected Code:

 @Override public Message readMessageFromRetryQueueByJmsId(String jmsId) throws QueueingException { Connection connection = null; Session session = null; MessageConsumer messageConsumer = null; Message message = null; try { connection = getConnectionFactory().createConnection(); session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); connection.start(); messageConsumer = session.createConsumer(getRetryQueue(), "JMSMessageID='"+jmsId+"'"); message = messageConsumer.receiveNoWait(); } catch (JMSException e) { throw new QueueingException("Failed to read message from MessageConsumer."); } finally { try { connection.close(); } catch (Exception e) {} } return message; } 
+4
source

Source: https://habr.com/ru/post/1481412/


All Articles