users@glassfish.java.net

JMS error on cluster start.

From: Kris Nuttycombe <kris.nuttycombe_at_gmail.com>
Date: Tue, 21 Oct 2008 13:22:19 -0600

Hi, all,

I have a consistent problem that occurs when I start my 4-node cluster
(2 physical machines) from the Glassfish administration console. What
happens is that one or two of the nodes will fail to start with the
following error appearing in the logs:

[#|2008-10-21T13:11:08.542-0600|SEVERE|sun-appserver9.1|javax.enterprise.system.core.classloading|_ThreadID=10;_ThreadName=main;_RequestID=ba865d6b-3a14-403a-85b4-f3a21acb365d;|LDR5004:
UnExpected
error occured while creating ejb container
java.lang.Exception
        at com.sun.enterprise.connectors.inflow.ConnectorMessageBeanClient.setup(ConnectorMessageBeanClient.java:261)
        at com.sun.ejb.containers.MessageBeanContainer.<init>(MessageBeanContainer.java:209)
        at com.sun.ejb.containers.ContainerFactoryImpl.createContainer(ContainerFactoryImpl.java:280)
        at com.sun.enterprise.server.AbstractLoader.loadEjbs(AbstractLoader.java:536)
        at com.sun.enterprise.server.ApplicationLoader.doLoad(ApplicationLoader.java:188)
        at com.sun.enterprise.server.TomcatApplicationLoader.doLoad(TomcatApplicationLoader.java:126)
        at com.sun.enterprise.server.AbstractLoader.load(AbstractLoader.java:244)
        at com.sun.enterprise.server.AbstractManager.load(AbstractManager.java:225)
        at com.sun.enterprise.server.ApplicationLifecycle.onStartup(ApplicationLifecycle.java:217)
        at com.sun.enterprise.server.ApplicationServer.onStartup(ApplicationServer.java:442)
        at com.sun.enterprise.server.ondemand.OnDemandServer.onStartup(OnDemandServer.java:120)
        at com.sun.enterprise.server.PEMain.run(PEMain.java:411)
        at com.sun.enterprise.server.PEMain.main(PEMain.java:338)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at com.sun.enterprise.server.PELaunch.main(PELaunch.java:412)
Caused by: javax.resource.NotSupportedException: MQRA:EC:Error
creating Remote Message Consumer:
[CREATE_DESTINATION_REPLY(35)] [C4036]: A broker error occurred.
:[503] [B4286]: Auto-creation of destination TransactionMessageQueue
is not allowed on service jms because service restriction [NO_S
YNC_WITH_MASTERBROKER] is in effect. user=guest, broker=localhost:37676(55154)
        at com.sun.messaging.jms.ra.EndpointConsumer.createRemoteMessageConsumer(EndpointConsumer.java:567)
        at com.sun.messaging.jms.ra.EndpointConsumer._init(EndpointConsumer.java:307)
        at com.sun.messaging.jms.ra.EndpointConsumer.<init>(EndpointConsumer.java:215)
        at com.sun.messaging.jms.ra.ResourceAdapter.endpointActivation(ResourceAdapter.java:604)
        at com.sun.enterprise.connectors.inflow.ConnectorMessageBeanClient.setup(ConnectorMessageBeanClient.java:252)
        ... 17 more
Caused by: com.sun.messaging.jms.JMSException:
[CREATE_DESTINATION_REPLY(35)] [C4036]: A broker error occurred.
:[503] [B4286]: Auto-creation of destination TransactionMessageQueue
is not allowed o
n service jms because service restriction [NO_SYNC_WITH_MASTERBROKER]
is in effect. user=guest, broker=localhost:37676(55154)
        at com.sun.messaging.jmq.jmsclient.ProtocolHandler.throwServerErrorException(ProtocolHandler.java:3930)
        at com.sun.messaging.jmq.jmsclient.ProtocolHandler.createDestination(ProtocolHandler.java:1415)
        at com.sun.messaging.jmq.jmsclient.ProtocolHandler.addInterest(ProtocolHandler.java:2121)
        at com.sun.messaging.jmq.jmsclient.WriteChannel.addInterest(WriteChannel.java:88)
        at com.sun.messaging.jmq.jmsclient.ConnectionImpl.addInterest(ConnectionImpl.java:1326)
        at com.sun.messaging.jmq.jmsclient.Consumer.registerInterest(Consumer.java:145)
        at com.sun.messaging.jmq.jmsclient.MessageConsumerImpl.addInterest(MessageConsumerImpl.java:170)
        at com.sun.messaging.jmq.jmsclient.MessageConsumerImpl.init(MessageConsumerImpl.java:157)
        at com.sun.messaging.jmq.jmsclient.QueueReceiverImpl.<init>(QueueReceiverImpl.java:75)
        at com.sun.messaging.jmq.jmsclient.UnifiedSessionImpl.createReceiver(UnifiedSessionImpl.java:146)
        at com.sun.messaging.jmq.jmsclient.UnifiedSessionImpl.createConsumer(UnifiedSessionImpl.java:628)
        at com.sun.messaging.jmq.jmsclient.UnifiedSessionImpl.createConsumer(UnifiedSessionImpl.java:577)
        at com.sun.messaging.jms.ra.EndpointConsumer.createRemoteMessageConsumer(EndpointConsumer.java:525)
        ... 21 more
|#]

I can usually get the failed nodes to start if I wait a few minutes
and then attempt to start them individually by hand. It also will at
times occur that the node will start, but that the application is
unavailable and a similar stack trace appears in the server.log file.

Can anyone suggest what might be going wrong? My google searches thus
far have turned up only very minimal results. Do I need to manually
create a destination resource instead of relying on auto-creation of
the physical destination?

Thanks,

Kris