自动JMS队列/工厂部署

时间:2011-07-05 14:16:41

标签: queue jms glassfish-3 netbeans-6.9 ejb-3.1

我们在Glassfish 3.1上部署消息队列和工厂时有一些奇怪的行为。有一家工厂和一些使用该工厂的队列。队列在名为sun-resources.xml的文件中定义。当我们使用netbeans部署我们的应用程序时,将自动创建工厂+队列(如果不存在)并且一切正常。但是当队列不存在时,我们每次抛出此异常时都会通过glassfish管理控制台部署应用程序:

引起:com.sun.appserv.connectors.internal.api.ConnectorRuntimeException:未定义本地字符串     at com.sun.enterprise.connectors.jms.system.ActiveJmsResourceAdapter.getPhysicalDestinationFromConfiguration(ActiveJmsResourceAdapter.java:2061)     at com.sun.enterprise.connectors.jms.system.ActiveJmsResourceAdapter.updateMDBRuntimeInfo(ActiveJmsResourceAdapter.java:1864)     在com.sun.enterprise.connectors.inbound.ConnectorMessageBeanClient.setup(ConnectorMessageBeanClient.java:186)     在com.sun.ejb.containers.MessageBeanContainer。(MessageBeanContainer.java:204)     at com.sun.ejb.containers.ContainerFactoryImpl.createContainer(ContainerFactoryImpl.java:121)     在org.glassfish.ejb.startup.EjbApplication.loadContainers(EjbApplication.java:234)     ......还有67个 引起:com.sun.appserv.connectors.internal.api.ConnectorRuntimeException:没有定义本地字符串     at com.sun.enterprise.connectors.jms.system.ActiveJmsResourceAdapter.getPhysicalDestinationFromConfiguration(ActiveJmsResourceAdapter.java:2055)     ......还有72个

这是glassfish 3.1中的已知错误。应用程序服务器在部署时获取异常,并希望创建错误描述。缺少资源包的堆栈跟踪(在glassfish中)隐藏了导致错误的原始异常。

通过netbeans / console部署应用程序有什么区别?为什么会发生此错误?

1 个答案:

答案 0 :(得分:1)

NetBeans在您部署时会读取sun-resources.xml文件,并使用在其中找到的信息“执行正确的操作”。 admin gui正在使用存档中的数据...其中不包含sun-resources.xml文件...因此,存在部署错误。

您可能希望使用asadmin sub命令add-resources来注册sun-resources.xml文件中定义的资源,然后使用admin gui来部署已归档的应用程序。