0

我正在尝试将我的应用程序部署到 Glassfish 3.2 服务器。当我这样做时,我会在日志中收到以下消息:

16:01:37.591 [admin-thread-pool-4848(3)] INFO  j.resourceadapter.mqjmsra.lifecycle.start - SJSMQ LifecycleManagedBroker configuration=
brokerInstanceName       =imqbroker
brokerBindAddress        =null
brokerPort               =7676
brokerHomeDir            =/opt/glassfish3/mq
brokerLibDir             =/opt/glassfish3/mq/lib
brokerVarDir             =/opt/glassfish3/glassfish/domains/medallion/imq
brokerJavaDir            =/usr/java/jdk1.6.0_26/jre
brokerArgs               =null
MasterBroker             =null
brokerId                 =null
adminUsername            =admin
adminPassword            =<default>
adminPassFile            =null
ConnectionURL            =
dbType                   =null
dbProps                  ={}
dsProps                  ={}
useJNDIRmiServiceURL     =true
useSSLJMXConnector       =true
brokerEnableHA           =false
clusterId                =null
rmiRegistryPort          =8686
startRmiRegistry         =false
brokerStartTimeout       =  jmxServiceURL            =null
    60000

在这之后,事情变得有点疯狂:

16:01:37.608 [admin-thread-pool-4848(3)] 错误 jerrcsun.enterprise.connectors.log - RAR6035:资源适配器启动失败。
javax.resource.spi.ResourceAdapterInternalException: java.security.PrivilegedActionException: javax.resource.spi.ResourceAdapterInternalException: MQJMSRA_RA4001: start:Aborting:Exception started EMBEDDED broker=无法创建代理实例。已创建代理实例。
    在 com.sun.enterprise.connectors.jms.system.ActiveJmsResourceAdapter.startResourceAdapter(ActiveJmsResourceAdapter.java:373) ~[jms-core.jar:3.1.2.1-SNAPSHOT]
    在 com.sun.enterprise.connectors.ActiveOutboundResourceAdapter.init(ActiveOutboundResourceAdapter.java:129) ~[connectors-runtime.jar:3.1.2.1-SNAPSHOT]
    在 com.sun.enterprise.connectors.inbound.ActiveInboundResourceAdapterImpl.init(ActiveInboundResourceAdapterImpl.java:90) [connectors-inbound-runtime.jar:3.1.2.1-SNAPSHOT]
    在 com.sun.enterprise.connectors.ActiveRAFactory.instantiateActiveResourceAdapter(ActiveRAFactory.java:135) [connectors-runtime.jar:3.1.2.1-SNAPSHOT]
    在 com.sun.enterprise.connectors.ActiveRAFactory.createActiveResourceAdapter(ActiveRAFactory.java:106) [connectors-runtime.jar:3.1.2.1-SNAPSHOT]
    在 com.sun.enterprise.connectors.service.ResourceAdapterAdminServiceImpl.createActiveResourceAdapter(ResourceAdapterAdminServiceImpl.java:212) [connectors-runtime.jar:3.1.2.1-SNAPSHOT]
    在 com.sun.enterprise.connectors.service.ResourceAdapterAdminServiceImpl.createActiveResourceAdapter(ResourceAdapterAdminServiceImpl.java:348) [connectors-runtime.jar:3.1.2.1-SNAPSHOT]
    在 com.sun.enterprise.connectors.ConnectorRuntime.createActiveResourceAdapter(ConnectorRuntime.java:357) [connectors-runtime.jar:3.1.2.1-SNAPSHOT]
    在 com.sun.enterprise.connectors.service.ConnectorService.loadDeferredResourceAdapter(ConnectorService.java:183) [connectors-runtime.jar:3.1.2.1-SNAPSHOT]
    在 com.sun.enterprise.connectors.ConnectorRuntime.loadDeferredResourceAdapter(ConnectorRuntime.java:1262) [connectors-runtime.jar:3.1.2.1-SNAPSHOT]
    在 com.sun.enterprise.connectors.inbound.ConnectorMessageBeanClient.getActiveResourceAdapter(ConnectorMessageBeanClient.java:286) [connectors-inbound-runtime.jar:3.1.2.1-SNAPSHOT]
    在 com.sun.enterprise.connectors.inbound.ConnectorMessageBeanClient.setup(ConnectorMessageBeanClient.java:184) [connectors-inbound-runtime.jar:3.1.2.1-SNAPSHOT]
    在 com.sun.ejb.containers.MessageBeanContainer.(MessageBeanContainer.java:205) [ejb-container.jar:3.1.2.1-SNAPSHOT]
    在 com.sun.ejb.containers.ContainerFactoryImpl.createContainer(ContainerFactoryImpl.java:121) [ejb-container.jar:3.1.2.1-SNAPSHOT]
    在 org.glassfish.ejb.startup.EjbApplication.loadContainers(EjbApplication.java:230) [ejb-container.jar:3.1.2.1-SNAPSHOT]
    在 org.glassfish.ejb.startup.EjbDeployer.load(EjbDeployer.java:305) [ejb-container.jar:3.1.2.1-SNAPSHOT]
    在 org.glassfish.ejb.startup.EjbDeployer.load(EjbDeployer.java:108) [ejb-container.jar:3.1.2.1-SNAPSHOT]
    在 org.glassfish.internal.data.ModuleInfo.load(ModuleInfo.java:186) [internal-api.jar:3.1.2.1-SNAPSHOT]
    在 org.glassfish.internal.data.ApplicationInfo.load(ApplicationInfo.java:264) [internal-api.jar:3.1.2.1-SNAPSHOT]
    在 com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:460) [kernel.jar:3.1.2.1-SNAPSHOT]
    在 com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:240) [kernel.jar:3.1.2.1-SNAPSHOT]
    在 org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:389) [deployment-admin.jar:3.1.2.1-SNAPSHOT]
    在 com.sun.enterprise.v3.admin.CommandRunnerImpl$1.execute(CommandRunnerImpl.java:348) [kernel.jar:3.1.2.1-SNAPSHOT]
    在 com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:363) [kernel.jar:3.1.2.1-SNAPSHOT]
    在 com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1085) [kernel.jar:3.1.2.1-SNAPSHOT]
    在 com.sun.enterprise.v3.admin.CommandRunnerImpl.access$1200(CommandRunnerImpl.java:95) [kernel.jar:3.1.2.1-SNAPSHOT]
    在 com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1291) [kernel.jar:3.1.2.1-SNAPSHOT]
    在 com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1259) [kernel.jar:3.1.2.1-SNAPSHOT]
    在 com.sun.enterprise.v3.admin.AdminAdapter.doCommand(AdminAdapter.java:461) [kernel.jar:3.1.2.1-SNAPSHOT]
    在 com.sun.enterprise.v3.admin.AdminAdapter.service(AdminAdapter.java:212) [kernel.jar:3.1.2.1-SNAPSHOT]
    在 com.sun.grizzly.tcp.http11.GrizzlyAdapter.service(GrizzlyAdapter.java:179) [grizzly-utils.jar:1.9.50]
    在 com.sun.enterprise.v3.server.HK2Dispatcher.dispath(HK2Dispatcher.java:117) [kernel.jar:3.1.2.1-SNAPSHOT]
    在 com.sun.enterprise.v3.services.impl.ContainerMapper$Hk2DispatcherCallable.call(ContainerMapper.java:354) [kernel.jar:3.1.2.1-SNAPSHOT]
    在 com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:195) [kernel.jar:3.1.2.1-SNAPSHOT]
    在 com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:860) [grizzly-http.jar:1.9.50]
    在 com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:757) [grizzly-http.jar:1.9.50]
    在 com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1056) [grizzly-http.jar:1.9.50]
    在 com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:229) [grizzly-http.jar:1.9.50]
    在 com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137) [grizzly-framework.jar:1.9.50]
    在 com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104) [grizzly-framework.jar:1.9.50]
    在 com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90) [grizzly-framework.jar:1.9.50]
    在 com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79) [grizzly-http.jar:1.9.50]
    在 com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54) [grizzly-framework.jar:1.9.50]
    在 com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59) [grizzly-framework.jar:1.9.50]
    在 com.sun.grizzly.ContextTask.run(ContextTask.java:71) [grizzly-framework.jar:1.9.50]
    在 com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532) [grizzly-utils.jar:1.9.50]
    在 com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513) [grizzly-utils.jar:1.9.50]
    在 java.lang.Thread.run(Thread.java:662) [na:1.6.0_26]
引起:java.security.PrivilegedActionException:null
    在 java.security.AccessController.doPrivileged(Native Method) ~[na:1.6.0_26]
    在 com.sun.enterprise.connectors.jms.system.ActiveJmsResourceAdapter.startResourceAdapter(ActiveJmsResourceAdapter.java:357) ~[jms-core.jar:3.1.2.1-SNAPSHOT]
    ...省略了47个常用框架
原因:javax.resource.spi.ResourceAdapterInternalException: MQJMSRA_RA4001: start:Aborting:Exception started EMBEDDED broker=Cannot create broker instance。已创建代理实例。
    在 com.sun.messaging.jms.blc.LifecycleManagedBroker.start(LifecycleManagedBroker.java:458) ~[imqjmsra.jar:na]
    在 com.sun.messaging.jms.ra.ResourceAdapter.start(ResourceAdapter.java:383) ~[imqjmsra.jar:na]
    在 com.sun.enterprise.connectors.jms.system.ActiveJmsResourceAdapter$1.run(ActiveJmsResourceAdapter.java:364) ~[jms-core.jar:3.1.2.1-SNAPSHOT]
    ...省略了49个常用框架
原因:java.lang.IllegalAccessException:无法创建代理实例。已创建代理实例。
    在 com.sun.messaging.jmq.jmsclient.runtime.impl.BrokerInstanceImpl.createInstance(BrokerInstanceImpl.java:136) ~[imqjmsra.jar:na]
    在 com.sun.messaging.jmq.jmsclient.runtime.impl.ClientRuntimeImpl.createBrokerInstance(ClientRuntimeImpl.java:82) ~[imqjmsra.jar:na]
    在 com.sun.messaging.jms.blc.EmbeddedBrokerRunner.createTheInVMBrokerInstance(EmbeddedBrokerRunner.java:291) ~[imqjmsra.jar:na]
    在 com.sun.messaging.jms.blc.EmbeddedBrokerRunner.(EmbeddedBrokerRunner.java:130) ~[imqjmsra.jar:na]
    在 com.sun.messaging.jms.blc.LifecycleManagedBroker.start(LifecycleManagedBroker.java:449) ~[imqjmsra.jar:na]
    ...省略了51个常用框架

有没有人知道如何创建这种情况?怎么可能创建 2 个经纪人?谷歌对报告这个问题的人有点轻描淡写。不太确定从哪里开始。

我正在使用 ActiveMQ,所以当它开始谈论Aborting:Exception starting EMBEDDED异常时,这就是我所关心的。

4

2 回答 2

7

解决方法很简单:删除 glassfish/domains/domain1/imq/instances/imqbroker/lock 文件并重启服务器。

http://www.adam-bien.com/roller/abien/entry/if_your_glassfish_v2_1

于 2017-06-12T14:57:04.273 回答
0

好像您正在运行 Glassfish 嵌入式代理(名为 imqbroker),但想要运行 ActiveMQ 资源适配器。我记得,当我们试图让 ActiveMQ 在 Glassfish 4 中运行时,我们有一个类似的堆栈跟踪。我们从这篇文章中获得了最多信息的帮助,但是对于 Glassfish 3 中的 ActiveMQ,可能还有其他文章更有帮助。无论如何设置正确的资源适配器非常重要。

于 2013-11-05T08:44:12.060 回答