Glassfish 以编程方式读取DMQ

Glassfish 以编程方式读取DMQ,glassfish,openmq,Glassfish,Openmq,如何以编程方式从“mq.sys.dmq”读取消息。 我使用Glassfish 3.1.2.2 当我尝试时: InitialContext ctx = new InitialContext(); Queue queue = (Queue) ctx.lookup("mq.sys.dmq"); QueueConnectionFactory connFactory = (QueueConnectionFactory) ctx.lookup("jms/ConnectionFactory"); QueueC

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

当我尝试时:

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:查找“mq.sys.dmq”失败


您必须在Glassfish管理GUI中创建队列

转到
JMS资源
->
目标资源


使用
mq.sys.dmq
as
Physical Destination Name
javax.jms.queue
as
Resource type

创建一个新条目,对于自动部署或在集成测试中使用(Arquillian),将“创建”该队列的信息也放入glassfish资源xml中是很好的。刚刚测试过。