I tried it (setting ConnectionValidationEnabled on the
connector connection pool and no luck :-(
Here is the logging before switchover (when we test the
remote application and it works):
(btw, sorry for the long mail)
[#|2006-09-26T14:26:57.417
+0300|FINEST|sun-appserver-ee8.1_02|com.sun.genericjmsra|_ThreadID=13;|ProviderIntegrationMode
null|#]
[#|2006-09-26T14:26:57.417
+0300|FINEST|sun-appserver-ee8.1_02|com.sun.genericjmsra|_ThreadID=13;|ProviderIntegrationMode
null|#]
[#|2006-09-26T14:26:57.418
+0300|FINEST|sun-appserver-ee8.1_02|com.sun.genericjmsra|_ThreadID=13;|[AbstractMCF]
equals - no false yet|#]
[#|2006-09-26T14:26:57.418
+0300|FINEST|sun-appserver-ee8.1_02|com.sun.genericjmsra|_ThreadID=13;|[AbstractMCF]
equals - final: true|#]
[#|2006-09-26T14:26:57.478
+0300|FINEST|sun-appserver-ee8.1_02|com.sun.genericjmsra|_ThreadID=13;|ProviderIntegrationMode
null|#]
[#|2006-09-26T14:26:57.479
+0300|FINEST|sun-appserver-ee8.1_02|com.sun.genericjmsra|_ThreadID=13;|ProviderIntegrationMode
null|#]
[#|2006-09-26T14:26:57.479
+0300|FINEST|sun-appserver-ee8.1_02|com.sun.genericjmsra|_ThreadID=13;|[AbstractMCF]
equals - no false yet|#]
[#|2006-09-26T14:26:57.480
+0300|FINEST|sun-appserver-ee8.1_02|com.sun.genericjmsra|_ThreadID=13;|[AbstractMCF]
equals - final: true|#]
[#|2006-09-26T14:26:57.481
+0300|FINEST|sun-appserver-ee8.1_02|com.sun.genericjmsra|_ThreadID=13;|[AbstractMCF]
Matching managed connections ->Physical Session -> nullPhysical Connection
com.ibm.mq.jms.MQQueueConnection_at_1779845Super ->
com.sun.genericra.outbound.ManagedConnection_at_56248|#]
[#|2006-09-26T14:26:57.482
+0300|FINEST|sun-appserver-ee8.1_02|com.sun.genericjmsra|_ThreadID=13;|[ManagedConnection]
On getConnection|#]
[#|2006-09-26T14:26:57.482
+0300|FINEST|sun-appserver-ee8.1_02|com.sun.genericjmsra|_ThreadID=13;|ProviderIntegrationMode
null|#]
[#|2006-09-26T14:26:57.483
+0300|FINEST|sun-appserver-ee8.1_02|com.sun.genericjmsra|_ThreadID=13;|ProviderIntegrationMode
null|#]
[#|2006-09-26T14:26:57.483
+0300|FINEST|sun-appserver-ee8.1_02|com.sun.genericjmsra|_ThreadID=13;|[AbstractMCF]
equals - no false yet|#]
[#|2006-09-26T14:26:57.484
+0300|FINEST|sun-appserver-ee8.1_02|com.sun.genericjmsra|_ThreadID=13;|[AbstractMCF]
equals - final: true|#]
[#|2006-09-26T14:27:11.994
+0300|FINEST|sun-appserver-ee8.1_02|com.sun.genericjmsra|_ThreadID=13;|[SessionAdapter]
close() called - txinprogress false|#]
[#|2006-09-26T14:27:11.994
+0300|FINEST|sun-appserver-ee8.1_02|com.sun.genericjmsra|_ThreadID=13;|[SessionAdapter]
closeAllJMSEntities|#]
[#|2006-09-26T14:27:11.995
+0300|FINEST|sun-appserver-ee8.1_02|com.sun.genericjmsra|_ThreadID=13;|[SessionAdapter]
closing message consumers 0|#]
[#|2006-09-26T14:27:11.995
+0300|FINEST|sun-appserver-ee8.1_02|com.sun.genericjmsra|_ThreadID=13;|[SessionAdapter]
closing message producers 1|#]
[#|2006-09-26T14:27:11.996
+0300|FINEST|sun-appserver-ee8.1_02|com.sun.genericjmsra|_ThreadID=13;|[SessionAdapter]
closing message producer
com.sun.genericra.outbound.MessageProducerProxy_at_5f6d64|#]
[#|2006-09-26T14:27:11.996
+0300|FINEST|sun-appserver-ee8.1_02|com.sun.genericjmsra|_ThreadID=13;|[SessionAdapter]
closing queue browsers 0|#]
[#|2006-09-26T14:27:12.001
+0300|FINEST|sun-appserver-ee8.1_02|com.sun.genericjmsra|_ThreadID=13;|[ManagedConnection]
Sending CONN_CLOSED event|#]
[#|2006-09-26T14:27:12.005
+0300|FINEST|sun-appserver-ee8.1_02|com.sun.genericjmsra|_ThreadID=13;|[ManagedConnection]
MC::cleanup - tx in progress ? false|#]
[#|2006-09-26T14:27:12.190
+0300|FINE|sun-appserver-ee8.1_02|com.sun.genericjmsra|_ThreadID=13;|Binod.OUT:
released endpoint : |#]
[#|2006-09-26T14:27:12.191
+0300|FINER|sun-appserver-ee8.1_02|com.sun.genericjmsra|_ThreadID=13;|Freed
the resource now|#]
Here is what gets logged when I switch over:
[#|2006-09-26T14:28:46.436
+0300|WARNING|sun-appserver-ee8.1_02|javax.enterprise.system.stream.err|_ThreadID=12;|2006.09.26
14:28:46 MQJMS1023E rollback failed
|#]
[#|2006-09-26T14:28:46.468
+0300|INFO|sun-appserver-ee8.1_02|com.sun.genericjmsra|_ThreadID=12;|Reconnecting
now|#]
[#|2006-09-26T14:28:46.469
+0300|INFO|sun-appserver-ee8.1_02|com.sun.genericjmsra|_ThreadID=12;|Reconnecting
now|#]
[#|2006-09-26T14:28:46.469
+0300|INFO|sun-appserver-ee8.1_02|com.sun.genericjmsra|_ThreadID=12;|Reconnecting
now|#]
[#|2006-09-26T14:28:46.471
+0300|WARNING|sun-appserver-ee8.1_02|javax.enterprise.system.stream.err|_ThreadID=12;|2006.09.26
14:28:46 MQJMS1023E rollback failed
|#]
[#|2006-09-26T14:28:46.476
+0300|FINE|sun-appserver-ee8.1_02|com.sun.genericjmsra|_ThreadID=12;|MQJMS2003:
failed to disconnect queue manager
javax.jms.JMSException: MQJMS2003: failed to disconnect queue manager
at
com.ibm.mq.jms.services.ConfigEnvironment.newException(ConfigEnvironment.java:530)
at com.ibm.mq.jms.MQSession.close(MQSession.java:526)
at
com.sun.genericra.inbound.InboundJmsResource.destroy(InboundJmsResource.java:91)
at
com.sun.genericra.inbound.InboundJmsResourcePool.releaseAllResources(InboundJmsResourcePool.java:333)
at
com.sun.genericra.inbound.InboundJmsResourcePool.stop(InboundJmsResourcePool.java:292)
at
com.sun.genericra.inbound.ReconnectHelper.reestablishPool(ReconnectHelper.java:84)
at
com.sun.genericra.inbound.ReconnectHelper.onException(ReconnectHelper.java:63)
at
com.ibm.mq.jms.MQConnection.deliverException(MQConnection.java:837)
at
com.ibm.mq.jms.MQQueueAgent.deliverException(MQQueueAgent.java:883)
at
com.ibm.mq.jms.MQQueueAgentThread.run(MQQueueAgentThread.java:1036)
at java.lang.Thread.run(Thread.java:595)
|#]
[#|2006-09-26T14:28:46.480
+0300|INFO|sun-appserver-ee8.1_02|com.sun.genericjmsra|_ThreadID=12;|Reconnect
attempt->0|#]
[#|2006-09-26T14:28:46.559
+0300|INFO|sun-appserver-ee8.1_02|com.sun.genericjmsra|_ThreadID=12;|Reconnect
attempt failed. Now sleeping for10000|#]
[#|2006-09-26T14:28:56.560
+0300|INFO|sun-appserver-ee8.1_02|com.sun.genericjmsra|_ThreadID=12;|Reconnect
attempt->1|#]
[#|2006-09-26T14:28:56.618
+0300|INFO|sun-appserver-ee8.1_02|com.sun.genericjmsra|_ThreadID=12;|Reconnect
attempt failed. Now sleeping for10000|#]
[#|2006-09-26T14:29:06.620
+0300|INFO|sun-appserver-ee8.1_02|com.sun.genericjmsra|_ThreadID=12;|Reconnect
attempt->2|#]
[#|2006-09-26T14:29:06.681
+0300|INFO|sun-appserver-ee8.1_02|com.sun.genericjmsra|_ThreadID=12;|Reconnect
attempt failed. Now sleeping for10000|#]
[#|2006-09-26T14:29:16.681
+0300|INFO|sun-appserver-ee8.1_02|com.sun.genericjmsra|_ThreadID=12;|Reconnect
attempt->3|#]
[#|2006-09-26T14:29:26.922
+0300|FINE|sun-appserver-ee8.1_02|com.sun.genericjmsra|_ThreadID=12;|Released
a total of 0 requests|#]
[#|2006-09-26T14:29:26.923
+0300|INFO|sun-appserver-ee8.1_02|com.sun.genericjmsra|_ThreadID=12;|Reconnect
successful with pool->3|#]
[#|2006-09-26T14:29:26.924
+0300|FINE|sun-appserver-ee8.1_02|com.sun.genericjmsra|_ThreadID=12;|Starting
the message consumption|#]
[#|2006-09-26T14:29:26.936
+0300|FINE|sun-appserver-ee8.1_02|com.sun.genericjmsra|_ThreadID=12;|Created
non durable connection consumerqueue://QMGR/LQUEUE|#]
[#|2006-09-26T14:29:26.944
+0300|INFO|sun-appserver-ee8.1_02|com.sun.genericjmsra|_ThreadID=12;|Generic
resource adapter started consumption |#]
[#|2006-09-26T14:29:26.944
+0300|INFO|sun-appserver-ee8.1_02|com.sun.genericjmsra|_ThreadID=12;|Reconnected!!|#]
And here is what gets logged when we try the remote app after switch over:
[#|2006-09-26T14:31:22.101
+0300|FINER|sun-appserver-ee8.1_02|com.sun.genericjmsra|_ThreadID=14;|JMS
provider is getting the ServerSession|#]
[#|2006-09-26T14:31:22.101
+0300|FINER|sun-appserver-ee8.1_02|com.sun.genericjmsra|_ThreadID=14;|Creating
the ServerSession|#]
[#|2006-09-26T14:31:22.170
+0300|FINE|sun-appserver-ee8.1_02|com.sun.genericjmsra|_ThreadID=14;|Created
new ServerSession|#]
[#|2006-09-26T14:31:22.171
+0300|FINEST|sun-appserver-ee8.1_02|com.sun.genericjmsra|_ThreadID=14;|RMPolicy
:null|#]
[#|2006-09-26T14:31:22.171
+0300|FINEST|sun-appserver-ee8.1_02|com.sun.genericjmsra|_ThreadID=14;|Message
provider got the session :com.ibm.mq.jms.MQQueueSession_at_107e78|#]
[#|2006-09-26T14:31:22.172
+0300|FINER|sun-appserver-ee8.1_02|com.sun.genericjmsra|_ThreadID=14;|Provider
is starting the message consumtion|#]
[#|2006-09-26T14:31:22.172
+0300|FINEST|sun-appserver-ee8.1_02|com.sun.genericjmsra|_ThreadID=14;|ProviderIntegrationMode
jndi|#]
[#|2006-09-26T14:31:22.173
+0300|FINEST|sun-appserver-ee8.1_02|com.sun.genericjmsra|_ThreadID=14;|GenericJMSRA
- getInstance() orig
com.sun.genericra.GenericJMSRA_at_4bc4015c{ConnectionFactoryClassName =
null},{QueueConnectionFactoryClassName =
null},{TopicConnectionFactoryClassName =
null},{XAConnectionFactoryClassName =
null},{XAQueueConnectionFactoryClassName =
null},{XATopicConnectionFactoryClassName = null},{QueueClassName =
null},{TopicClassName = null},{UnifiedDestinationClassName =
null},{ConnectionFactoryProperties = null},{JndiProperties =
java.naming.factory.url.pkgs=com.ibm.mq.jms.naming,java.naming.factory.initial=com.sun.jndi.fscontext.RefFSContextFactory,java.naming.provider.url=file:///var/mqm/JNDI},{ProviderIntegrationMode
= jndi},{CommonSetterMethodName = null},{SupportsXA = false},|#]
[#|2006-09-26T14:31:22.174
+0300|FINER|sun-appserver-ee8.1_02|com.sun.genericjmsra|_ThreadID=15;|Now
running the message consumption|#]
[#|2006-09-26T14:31:22.175
+0300|FINER|sun-appserver-ee8.1_02|com.sun.genericjmsra|_ThreadID=15;|Creating
message endpoint : null|#]
[#|2006-09-26T14:31:22.176
+0300|FINEST|sun-appserver-ee8.1_02|com.sun.genericjmsra|_ThreadID=15;|ProviderIntegrationMode
jndi|#]
[#|2006-09-26T14:31:22.176
+0300|FINEST|sun-appserver-ee8.1_02|com.sun.genericjmsra|_ThreadID=15;|GenericJMSRA
- getInstance() orig
com.sun.genericra.GenericJMSRA_at_4bc4015c{ConnectionFactoryClassName =
null},{QueueConnectionFactoryClassName =
null},{TopicConnectionFactoryClassName =
null},{XAConnectionFactoryClassName =
null},{XAQueueConnectionFactoryClassName =
null},{XATopicConnectionFactoryClassName = null},{QueueClassName =
null},{TopicClassName = null},{UnifiedDestinationClassName =
null},{ConnectionFactoryProperties = null},{JndiProperties =
java.naming.factory.url.pkgs=com.ibm.mq.jms.naming,java.naming.factory.initial=com.sun.jndi.fscontext.RefFSContextFactory,java.naming.provider.url=file:///var/mqm/JNDI},{ProviderIntegrationMode
= jndi},{CommonSetterMethodName = null},{SupportsXA = false},|#]
[#|2006-09-26T14:31:22.178
+0300|FINE|sun-appserver-ee8.1_02|com.sun.genericjmsra|_ThreadID=15;|Binod.IN:
Created endpoint : |#]
[#|2006-09-26T14:31:22.178
+0300|FINEST|sun-appserver-ee8.1_02|com.sun.genericjmsra|_ThreadID=15;|Message
provider got the session :com.ibm.mq.jms.MQQueueSession_at_107e78|#]
[#|2006-09-26T14:31:22.182
+0300|FINEST|sun-appserver-ee8.1_02|com.sun.genericjmsra|_ThreadID=15;|Now
it is feeding the message to MDB instance|#]
[#|2006-09-26T14:31:22.185
+0300|FINEST|sun-appserver-ee8.1_02|com.sun.genericjmsra|_ThreadID=15;|ProviderIntegrationMode
null|#]
[#|2006-09-26T14:31:22.186
+0300|FINEST|sun-appserver-ee8.1_02|com.sun.genericjmsra|_ThreadID=15;|ProviderIntegrationMode
null|#]
[#|2006-09-26T14:31:22.186
+0300|FINEST|sun-appserver-ee8.1_02|com.sun.genericjmsra|_ThreadID=15;|[AbstractMCF]
equals - no false yet|#]
[#|2006-09-26T14:31:22.187
+0300|FINEST|sun-appserver-ee8.1_02|com.sun.genericjmsra|_ThreadID=15;|[AbstractMCF]
equals - final: true|#]
[#|2006-09-26T14:31:22.187
+0300|FINEST|sun-appserver-ee8.1_02|com.sun.genericjmsra|_ThreadID=15;|[AbstractMCF]
equals - final: true|#]
[#|2006-09-26T14:31:22.187
+0300|FINEST|sun-appserver-ee8.1_02|com.sun.genericjmsra|_ThreadID=15;|ProviderIntegrationMode
null|#]
[#|2006-09-26T14:31:22.188
+0300|FINEST|sun-appserver-ee8.1_02|com.sun.genericjmsra|_ThreadID=15;|ProviderIntegrationMode
null|#]
[#|2006-09-26T14:31:22.188
+0300|FINEST|sun-appserver-ee8.1_02|com.sun.genericjmsra|_ThreadID=15;|[AbstractMCF]
equals - no false yet|#]
[#|2006-09-26T14:31:22.189
+0300|FINEST|sun-appserver-ee8.1_02|com.sun.genericjmsra|_ThreadID=15;|[AbstractMCF]
equals - final: true|#]
[#|2006-09-26T14:31:22.189
+0300|FINEST|sun-appserver-ee8.1_02|com.sun.genericjmsra|_ThreadID=15;|[AbstractMCF]
Matching managed connections ->Physical Session -> nullPhysical Connection
com.ibm.mq.jms.MQQueueConnection_at_4a0ea4Super ->
com.sun.genericra.outbound.ManagedConnection_at_df0ee1|#]
[#|2006-09-26T14:31:22.190
+0300|FINEST|sun-appserver-ee8.1_02|com.sun.genericjmsra|_ThreadID=15;|[ManagedConnection]
On getConnection|#]
[#|2006-09-26T14:31:22.191
+0300|FINEST|sun-appserver-ee8.1_02|com.sun.genericjmsra|_ThreadID=15;|ProviderIntegrationMode
null|#]
[#|2006-09-26T14:31:22.191
+0300|FINEST|sun-appserver-ee8.1_02|com.sun.genericjmsra|_ThreadID=15;|ProviderIntegrationMode
null|#]
[#|2006-09-26T14:31:22.192
+0300|FINEST|sun-appserver-ee8.1_02|com.sun.genericjmsra|_ThreadID=15;|[AbstractMCF]
equals - no false yet|#]
[#|2006-09-26T14:31:22.192
+0300|FINEST|sun-appserver-ee8.1_02|com.sun.genericjmsra|_ThreadID=15;|[AbstractMCF]
equals - final: true|#]
[#|2006-09-26T14:31:22.201
+0300|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.stream.out|_ThreadID=15;|-
[MSGID:414d5120514d5f5330353232355f54414d1bdd4420a11647] caught fatal
exception for message:
*message omitted*
javax.jms.JMSException: MQJMS2008: failed to open MQ queue
at
com.ibm.mq.jms.MQQueueSession.getQueueOpenException(MQQueueSession.java:940)
at
com.ibm.mq.jms.MQQueueSession.getOutputQueue(MQQueueSession.java:866)
at
com.ibm.mq.jms.MQQueueSession.createSender(MQQueueSession.java:206)
at
com.sun.genericra.outbound.SessionAdapter.createSender(SessionAdapter.java:356)
*snip*
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:585)
at
com.sun.enterprise.security.SecurityUtil$2.run(SecurityUtil.java:153)
at java.security.AccessController.doPrivileged(Native Method)
at
com.sun.enterprise.security.application.EJBSecurityManager.doAsPrivileged(EJBSecurityManager.java:950)
at
com.sun.enterprise.security.SecurityUtil.invoke(SecurityUtil.java:158)
at
com.sun.ejb.containers.MessageBeanContainer.deliverMessage(MessageBeanContainer.java:956)
at
com.sun.ejb.containers.MessageBeanListenerImpl.deliverMessage(MessageBeanListenerImpl.java:42)
at
com.sun.enterprise.connectors.inflow.MessageEndpointInvocationHandler.invoke(MessageEndpointInvocationHandler.java:130)
at $Proxy7.onMessage(Unknown Source)
at
com.sun.genericra.inbound.DeliveryHelper.deliverMessage(DeliveryHelper.java:183)
at
com.sun.genericra.inbound.DeliveryHelper.deliver(DeliveryHelper.java:130)
at
com.sun.genericra.inbound.DeliveryHelper.deliver(DeliveryHelper.java:120)
at
com.sun.genericra.inbound.EndpointConsumer.consumeMessage(EndpointConsumer.java:197)
at
com.sun.genericra.inbound.MessageListener.onMessage(MessageListener.java:56)
at com.ibm.mq.jms.MQSession.run(MQSession.java:1136)
at com.sun.genericra.inbound.WorkImpl.run(WorkImpl.java:49)
at
com.sun.enterprise.connectors.work.OneWork.doWork(OneWork.java:45)
at
com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:409)
|#]
[#|2006-09-26T14:31:22.210
+0300|FINE|sun-appserver-ee8.1_02|com.sun.genericjmsra|_ThreadID=15;|Binod.OUT:
released endpoint : |#]
[#|2006-09-26T14:31:22.210
+0300|FINER|sun-appserver-ee8.1_02|com.sun.genericjmsra|_ThreadID=15;|Freed
the resource now|#]
Ramesh.Parthasarathy_at_Sun.COM skrev 26.09.2006 14:22:23 :
> Hi Conny,
>
>
> Is ConnectionValidationEnabled set to true, if not could you set this
> property to true and then try.
>
> For details about this property please refer to the generic jms ra user
> guide
> https://genericjmsra.dev.java.net/docs/userguide/userguide.html
>
> Thanks
> -Ramesh
>
> conny.gyllendahl_at_crosskey.fi wrote On 09/26/06 11:00,:
> >
> >
> >
> > Hello!
> >
> > Here is my setup:
> >
> > - Two application hosts running Sun Application Server 8.1 Enterprise
> > Edition
> > in an application cluster.
> >
> > - Two servers running Sun Cluster and managing a WebSphere MQ 5.3 queue
> > manager.
> >
> > - The application hosts both use the genericra to connect to the
> > queuemanager
> > and run an MDB which reads messages from a queue, does some work and
> > replies
> > to a queue defined in the original message.
> >
> > Basically it looks like this:
> >
> > remote app <--> remote qmgr 1 <--> remote qmgr 2 (gateway) <--> our
qmgr
> > <--> our MDB
> >
> > The remote app sends a message to a local queue at our qmgr. The
message is
> > picked
> > up by the MDB and then replies to a qmgr and remote temporary queue
defined
> > in the
> > original message. In order for this to work we defined remote qmgr
alias in
> > our
> > qmgr telling it to go through the qmgr gatway.
> >
> > The cluster starts the qmgr with strmqm and ends it with endmqm -i.
> >
> > We have tested it and everything works, when the qmgr is started before
the
> > application.
> >
> > When we failover/switch the qmgr to the other host and test the
application
> > (by having
> > the remote app send a message) to our local queue the MDB receives the
> > message but is
> > unable to reply.
> >
> > javax.jms.JMSException: MQJMS2008: failed to open MQ queue
> > at
> >
com.ibm.mq.jms.MQQueueSession.getQueueOpenException(MQQueueSession.java:940)
> > at
> > com.ibm.mq.jms.MQQueueSession.getOutputQueue(MQQueueSession.java:866)
> > at
> > com.ibm.mq.jms.MQQueueSession.createSender(MQQueueSession.java:206)
> > at
> > com.sun.genericra.outbound.SessionAdapter.
> createSender(SessionAdapter.java:356)
> >
> > If we restart the application instances it works again so it seems to
be
> > something with the
> > outgoing connection. I have tried setting reconnectattempts and
> > redeliveryattempts in the
> > deployment descriptor and changed "close all connetions on any failure"
on
> > the pool in the
> > admin gui but to no help.
> >
> > My guess is that it needs to reconnect/reinitialize somehow. Does
anyone
> > know if this is doable?
> >
> > regards,
> > Conny
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe_at_genericjmsra.dev.java.net
> > For additional commands, e-mail: users-help_at_genericjmsra.dev.java.net
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe_at_genericjmsra.dev.java.net
> For additional commands, e-mail: users-help_at_genericjmsra.dev.java.net
>