users@glassfish.java.net

Single server, multiple domain JMS port problem

From: <glassfish_at_javadesktop.org>
Date: Mon, 16 Nov 2009 19:13:55 PST

Problem:
Domain container completely hangs after receiving a few messages through web service.

Procedure:
Oneway webservice method call constructs serializable object and passes object message to imq Queue where MDB picks up object, deserializes, and performs further work. This is not transactional. Deserialized objects perform work properly before container hangs. No exception is thrown in MDB onMessage call.

Tests:
Works as designed in system that never had multiple domains configured -- namely my multiple VMs. I am about to completely reproduce the test environment in VM but hoping someone can help me before I go through this painful chore.

Notable symptom:
broker port is 3079, but log has imqBrokerHostPort=7676, which I can't find anywhere in the domain.xml. This port is not live by performing normal netstat/telnet tests. I know 7676 is the default domain1 broker port out of box so I was thinking the system was somehow sourcing domain1 var properties, but looking at logs I can't see how that is possible.

[#|2009-11-16T15:51:53.953-0800|FINER|sun-appserver2.1|javax.resourceadapter.mqjmsra.outbound.connection|_ThreadID=20;_ThreadName=httpSSLWorkerThread-3078-1;ClassName=com.sun.messaging.jms.ra.ManagedConnection;MethodName=<init>;_RequestID=1c297b28-2425-4348-9fe1-98f65ceb9397;|MQJMSRA_MC1101: constructor:Creating mcId=2:Using xacf config={imqOverrideJMSPriority=false, imqConsumerFlowLimit=1000, imqOverrideJMSExpiration=false, imqAddressListIterations=3, imqLoadMaxToServerSession=true, imqConnectionType=TCP, imqPingInterval=30, imqSetJMSXUserID=false, imqConfiguredClientID=, imqSSLProviderClassname=com.sun.net.ssl.internal.ssl.Provider, imqJMSDeliveryMode=PERSISTENT, imqConnectionFlowLimit=1000, imqConnectionURL=http://localhost/imq/tunnel, imqBrokerServiceName=, imqJMSPriority=4, imqBrokerHostName=localhost, imqJMSExpiration=0, imqAckOnProduce=, imqEnableSharedClientID=false, imqAckTimeout=0, imqAckOnAcknowledge=, imqConsumerFlowThreshold=50, imqDefaultPassword=guest, imqQueueBrowserMaxMessagesPerRetrieve=1000, imqDefaultUsername=guest, imqReconnectEnabled=true, imqConnectionFlowCount=100, imqAddressListBehavior=RANDOM, imqReconnectAttempts=3, imqSetJMSXAppID=false, imqConnectionHandler=com.sun.messaging.jmq.jmsclient.protocol.tcp.TCPStreamHandler, imqSetJMSXRcvTimestamp=false, imqBrokerServicePort=0, imqDisableSetClientID=false, imqSetJMSXConsumerTXID=false, imqOverrideJMSDeliveryMode=false, imqBrokerHostPort=7676, imqQueueBrowserRetrieveTimeout=60000, imqSetJMSXProducerTXID=false, imqSSLIsHostTrusted=false, imqConnectionFlowLimitEnabled=false, imqReconnectInterval=5000, imqAddressList=localhost:3079,localhost, imqOverrideJMSHeadersToTemporaryDestinations=false}|#]

[#|2009-11-16T15:51:54.953-0800|WARNING|sun-appserver2.1|javax.jms|_ThreadID=20;_ThreadName=httpSSLWorkerThread-3078-1;_RequestID=1c297b28-2425-4348-9fe1-98f65ceb9397;|[C4003]: Error occurred on connection creation [localhost:7676]. - cause: java.net.ConnectException: Connection refused: connect|#]


**** Java Virtual Machine [App Server Instance Name: server] Summary ****
Operating System Information:
Name of the Operating System: Windows 2003
Binary Architecture name of the Operating System: x86, Version: 5.2
Number of processors available on the Operating System: 4

Sun GlassFish Enterprise Server v2.1.1 ((v2.1 Patch06)(9.1_02 Patch12)) (build b31g-fcs)
Using embedded JDK
(problem also surfaced in 2.1)

relevant config for domain.xml:
      <mdb-container idle-timeout-in-seconds="600" max-pool-size="32" pool-resize-quantity="8" steady-pool-size="0"/>
      <jms-service addresslist-behavior="random" addresslist-iterations="3" default-jms-host="default_JMS_host" init-timeout-in-seconds="60" reconnect-attempts="3" reconnect-enabled="true" reconnect-interval-in-seconds="5" start-args="-Dimq.autocreate.queue.consumerFlowLimit=1" type="LOCAL">
        <jms-host admin-password="XXXXXXXXXX" admin-user-name="admin" host="X.XXX.XXX.XXX" name="default_JMS_host" port="3079"/>
      </jms-service>
[Message sent by forum member 'relberger' ]

http://forums.java.net/jive/thread.jspa?messageID=372078