2013-02-21 95 views
0

如何以编程方式从“mq.sys.dmq”读取消息。 我用Glassfish的3.1.2.2以编程方式读取DMQ

当我尝试:

InitialContext ctx = new InitialContext(); 
Queue queue = (Queue) ctx.lookup("mq.sys.dmq"); 
QueueConnectionFactory connFactory = (QueueConnectionFactory) ctx.lookup("jms/ConnectionFactory"); 
QueueConnection queueConn = connFactory.createQueueConnection(); 
QueueSession queueSession = queueConn.createQueueSession(false, 
      Session.AUTO_ACKNOWLEDGE); 
QueueReceiver queueReceiver = queueSession.createReceiver(queue); 

我收到:

javax.naming.NamingException: Lookup failed for 'mq.sys.dmq' 

回答

2

您在GlassFish管理GUI创建队列。

转到JMS Resources - >Destination Resources

创建mq.sys.dmq作为Physical Destination Namejavax.jms.queueResource type

+0

它工作的新条目。谢谢! – DSmelanskij 2013-02-21 16:27:48

+0

对于自动部署或在集成测试(Arquillian)中使用,它可以很好地将信息放在glassfish-resources-xml中的“创建”队列中。刚刚测试过它。 – 2013-06-12 09:20:41

相关问题