Я использую Glassfish JMS.
Я могу добавлять сообщения в очередь. Я могу видеть сообщения, используя объект QueueBrowser. Однако MessageConsumer (ни QueueReceiver) не может получить какое-либо сообщение и вернуть значение null. Срок действия сообщения установлен на 0, и я не забыл открыть соединение.
Есть идеи?
Вот код:
Session session = null;
Connection conn = null;
try
{
InitialContext jndi = new InitialContext();
ConnectionFactory qFactory = (ConnectionFactory)jndi.
lookup("myConnectionFactory");
conn = qFactory.createConnection();
conn.start();
Queue queue = (Queue)jndi.lookup("myQueueName");
session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
QueueReceiver mc = ((QueueSession)session).createReceiver(queue);
Object m = mc.receive(2000);
//m is NULL!
QueueBrowser browser = session.createBrowser(queue);
for(Enumeration e = browser.getEnumeration(); e.hasMoreElements(); )
{
//there are many messages here...
}