我们在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部署应用程序有什么区别?为什么会发生此错误?
答案 0 :(得分:1)
NetBeans在您部署时会读取sun-resources.xml文件,并使用在其中找到的信息“执行正确的操作”。 admin gui正在使用存档中的数据...其中不包含sun-resources.xml文件...因此,存在部署错误。
您可能希望使用asadmin sub命令add-resources来注册sun-resources.xml文件中定义的资源,然后使用admin gui来部署已归档的应用程序。