ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » IBM MQ Java / JMS » stuck JMS connections

Post new topic  Reply to topic
 stuck JMS connections « View previous topic :: View next topic » 
Author Message
HenriqueS
PostPosted: Thu Sep 09, 2010 2:13 pm    Post subject: stuck JMS connections Reply with quote

Master

Joined: 22 Sep 2006
Posts: 235

Hello,

One of our apps recently started to run under WAS 7.0 but still connecting to a MQ 6 queue manager.

Several calls to get messages from a local queue do return a null value, but in reality the message is waiting there in the queue.

Code:


javax.naming.Context context = new javax.naming.InitialContext.InitialContext();
javax.jms.QueueConnectionFactory factory = (QueueConnectionFactory) context.lookup("jms/MESQCF");
javax.jms.QueueConnection connection = factory.createQueueConnection();
connection.start();
javax.jms.QueueSession session = connection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
javax.jms.Queue fila = (Queue) context.lookup("jms/" + nomeFila);
javax.jms.QueueReceiver queueReceiver = session.createReceiver(fila);
com.ibm.jms.JMSMessage inMessage = (JMSMessage) queueReceiver.receive(3000);



Like I said, 'inMessage' returns null, not really waiting for anything. After several tries the message is recovered, but sometimes not even this happens. We noticed also that many connections are opened within the queue manager even to the point of reaching the maximum connection setting (default 100).

We did restrict some connection pool settings on WAS (timeout 20 secs, max conns 20), but it did not help.

Besides that, we noticed that every first get operation (when our application starts) usually performs well, but the following ones not, leaving new messages on the queue and returning null like I told.

Any idea?
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Thu Sep 09, 2010 6:33 pm    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20756
Location: LI,NY

Make sure your connection factory is set up for Version 6. Make sure conversation sharing is set to 1 on the channel...

If that does not help open a PMR.

Have fun
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
HenriqueS
PostPosted: Fri Sep 10, 2010 10:48 am    Post subject: Reply with quote

Master

Joined: 22 Sep 2006
Posts: 235

1) Where the setting for the connection factory version is found on the WAS admin interface? Found nothing related so far.

2) The conversation sharing is a MQ setting that only shows up at version 7.0. I am doing here an WAS 7.0 --> MQ 6.0 connection.

fjb_saper wrote:
Make sure your connection factory is set up for Version 6. Make sure conversation sharing is set to 1 on the channel...

If that does not help open a PMR.

Have fun
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Fri Sep 10, 2010 6:29 pm    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20756
Location: LI,NY

You mean to say that your WAS 7. MQJMS set up is still using the V6.0.2.x client? Check the compatibility on the website and let us know from which version of WAS on you use an internal WMQ V7 client.

In case you are using an internal WMQ V7 client, all of the above (see previous post) apply.

If you are using an internal V6.0.2.x client open a PMR.

Have fun
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
HenriqueS
PostPosted: Wed Sep 29, 2010 2:16 pm    Post subject: Reply with quote

Master

Joined: 22 Sep 2006
Posts: 235

So, I am leaving this here for reference...problem solved.

Apparently the WebSphere team found it. There is a fault on WAS 7.0 (don´t know the exactly patch level) that just ignores external MQ libraries (from 6.0.X) or even newest ones from lastest patches.

They discovered this because thanks god we had a good WAS node where MQ and WAS were doing just fine. Then they checked the open process files by the WAS process (Linux 'lsof' command gives this). They compared to the other faulty servers and noticed that the referenced jars were not the same!

So they tricked the faulty WAS servers moving the bad MQ jars to somewhere else and creating a symbolic link to the good ones.

After that, we had no more orphaned, buggy JMS connections from WAS cummulating until MQ refusal.

They still researching why the WAS namespace got messed up and are in contact with IBM to check what really happened.

***Well, not only using the wrong lib but ignoring any customizations they made on the setupcmdline.sh script, including when MQ 6 libs were expressely pointed (it´s an command line were WAS admins usually push more libs into the namespace). ***

Faulty WAS servers were using this lib

Code:

Manifest-Version: 1.0
Ant-Version: Apache Ant 1.7.0
Created-By: 1.4.2 (IBM Corporation)
Copyright-Notice: Licensed Materials - Property of IBM          5724-H
 72, 5655-L82, 5724-L26          (c) Copyright IBM Corp. 2008 All Righ
 ts Reserved.          US Government Users Restricted Rights -       
   Use,duplication or disclosure restricted by GSA ADP Schedule Contra
 ct          with IBM Corp.
Sealed: false
Specification-Title: J2EE Connector Architecture
Specification-Version: 1.5
Implementation-Title: WebSphere MQ Resource Adapter
Implementation-Version: 7.0.0.0-k700-L080820
Implementation-Vendor: IBM Corporation


The good WAS server was using this lib

Code:

Manifest-Version: 1.0
Ant-Version: Apache Ant 1.7.0
Created-By: 1.4.2 (IBM Corporation)
Copyright-Notice: Licensed Materials - Property of IBM       5724-H72,
  5655-R36, 5724-L26, 5655-L82          (c) Copyright IBM Corp. 2008 A
 ll Rights Reserved.          US Government Users Restricted Rights -
          Use,duplication or disclosure restricted by GSA ADP Schedule
  Contract          with IBM Corp.
Sealed: false
Specification-Title: J2EE Connector Architecture
Specification-Version: 1.5
Implementation-Title: WebSphere MQ Resource Adapter
Implementation-Version: 7.0.1.2-k701-102-100504
Implementation-Vendor: IBM Corporation
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Wed Sep 29, 2010 7:40 pm    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20756
Location: LI,NY

Quote:
The good was server was using this lib 7.0.1.2


Well this is probably not a case of good WAS vs bad WAS and more probably a case of patched WAS 7 vs unpatched WAS 7...

And if I believe the notes I see you're really looking forward to 7.0.1.4 as a lot of fixes in the JMS and conversation sharing areas are targeted for this release.

Have fun
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
sushantbpawar
PostPosted: Thu Apr 07, 2011 3:54 am    Post subject: Reply with quote

Newbie

Joined: 01 Apr 2011
Posts: 2

Hi ,

I am facing the same issue while performing the JMS recieve

I have WAS 7.0.0.15 connecting to MQ 6.0.

Any Idea about ?

Thanks-
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » IBM MQ Java / JMS » stuck JMS connections
Jump to:  



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.