Потребитель ActiveMQ не может удалить сообщение из очереди

Я использую реализацию JMS-очереди Apache ActiveMQ, в которой около 300 потребителей прослушивают отдельные очереди в одном экземпляре AMQ, размещенном за конфигурацией nio-ssql.
потребитель 1 слушает Queue1
потребитель 2 слушает Queue2
потребитель 3 слушает Queue3
потребитель 4 слушает Queue4

Существует один производитель, который помещает сообщения в эти очереди в зависимости от рабочего процесса. Каждый потребитель размещается в своей среде, представляющей собой смесь серверов Windows и Linux, а производители размещаются в облачной среде Linux.

Большинство потребителей могут создавать соединения, создавать очереди на брокере и могут исключать сообщения из брокера сообщений без каких-либо проблем.

Однако некоторые потребители не могут исключить из очереди сообщения из очереди. Может кто-нибудь, пожалуйста, помогите разобраться в этой проблеме и предложить?

Please find below sample consumer code:
//Create a Connection
Connection connection = new ActiveMQConnectionFactory(brokerUrl).createConnection(username, password);
connection.setExceptionListener(this);
connection.start();

// Create a Session
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
// Create the destination (Queue)
Destination destination  = session.createQueue(SAMPLE_QUEUE_NAME);

// Create a MessageConsumer from the Session to the queue
consumer = session.createConsumer(destination);


while (true) {
    if (Thread.interrupted()) {
        EcwLog.AppendToLog(logPrefix + "terminating MQ connection");
        terminateaMQConnection();
        break;
    }

    Message message = consumer.receive();
    processMessage(message);
}

0 ответов

Другие вопросы по тегам