2010-04-20 44 views
2
创建JMS队列

我与JMS生产者和消费者部署我的应用程序时问题Glassfish上

com.sun.enterprise.connectors.ConnectorRuntimeException: JMS resource not created : QueueName 

我用下面的注解是出现以下错误:

Producer

@Resource(name = "jms/EmailNotificationQueue", mappedName = "EmailNotificationQueue") 
private Destination destination; 

@Resource(name = "jms/QueueConnectionFactory") 
private ConnectionFactory connectionFactory; 

然后创建连接并在发送消息前启动它

Consumer

@MessageDriven(name = "EmailNotificationBean", activationConfig = {           
@ActivationConfigProperty(         
    propertyName="destinationType",       
    propertyValue="javax.jms.Queue"),      
@ActivationConfigProperty(         
    propertyName="destinationName",       
    propertyValue="EmailNotificationQueue"), 
@ActivationConfigProperty(
    propertyName="acknowledgeMode", 
    propertyValue="CLIENT_ACKNOWLEDGE") 

} 
,mappedName = "EmailNotificationQueue"                    
) 
+0

你的classpath中有glassfish-resources.xml文件吗?当我在Netbeans中创建JMS时,它会自动添加这些包含jms配置的文件。它位于'其他来源/设置'。我不必手动创建Queue和QueueConnectionFactory – Damian 2013-07-17 13:22:26

回答

1

您是否已手动创建目的地?

登录管理控制台,展开资源,JMS资源,然后展开目标资源。您可能还需要创建连接工厂。

+0

我可以手动创建队列,但该规范没有讨论手动创建。其他服务器肯定会在部署时创建队列。我看到很多人遇到同样的问题,但似乎并没有官方的解决方案。 – n002213f 2010-04-20 18:29:49