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 » MQ JMS/RADWARE MQJMS 1017 temp queue error?

Post new topic  Reply to topic
 MQ JMS/RADWARE MQJMS 1017 temp queue error? « View previous topic :: View next topic » 
Author Message
kolthorr
PostPosted: Mon Apr 21, 2003 5:49 pm    Post subject: MQ JMS/RADWARE MQJMS 1017 temp queue error? Reply with quote

Apprentice

Joined: 09 Mar 2002
Posts: 31

Hi all,

We've got some "interesting" client code that does the following:
Starts off with a MQ QCF -
Code:
MQQueueConnectionFactory qcf = new MQQueueConnectionFactory();

Then gets a connection, session, and queues in the normal way. But along the way it's calling qcf.setTemporaryModel() with the name of a normal MQ local queue. A bit odd...then later it calls session.createTemporaryQueue() to get a 'temporary' JMS reference to a permanent local MQ queue for replies.

This has worked in the past when they connected directly to a queue manager. When we try to route connections through a RADWARE router that load balances MQ requests between two queue managers, it falls over on the createTemporaryQueue() call with the following error:

Code:
javax.jms.JMSException: MQJMS1017: non-local MQ queue not valid for receiving or
browsing
        at com.ibm.mq.jms.services.ConfigEnvironment.newException(ConfigEnvironme
nt.java:418)
(snip)

There are a few workarounds:
1. Disable one of the queue managers from the radware load balancing algorithm. Presumably this routes all requests to a single queue manager.
2. Connect directly to a Q Manager, rather than via radware.
3. Code change to call session.createQueue() rather than createTemporaryQueue().

Ultimately they'll need to make the code change as I am suspicious of the way they're using createTempQ() at the moment. Apart from that, has anyone here who has experience with routing MQ requests via radware seen this issue? It would seem a little strange that the createTempQ() call is going awol somewhere along the line.

Thanks for any thoughts on this. Apologies for the rather long, rambling post. As I say, we have workarounds, but are curious as to the underlying cause.

Cheers,
Andrew
Back to top
View user's profile Send private message
kolthorr
PostPosted: Mon Apr 21, 2003 9:28 pm    Post subject: A little more info Reply with quote

Apprentice

Joined: 09 Mar 2002
Posts: 31

We got a network level packet trace out of radware. Radware is seeing the createTemporaryQueue() call as coming from a different port on the client PC. So to radware it looks like a different application, so it's being load balanced to the other Q manager...and it all falls apart.

So I guess a more accurate question would be "Why is the createTemporaryQueue() method behaving like this?", or "shouldn't it be the same as createQueue()"? Since it's all running on the same JMS Session, obtained from a QCF.

Interesting!
Back to top
View user's profile Send private message
meekings
PostPosted: Fri Apr 08, 2005 3:11 pm    Post subject: Similar issue with bigIP Reply with quote

Voyager

Joined: 28 Jun 2001
Posts: 86
Location: UK, South West

I'm encountering a similar problem using bigIP that load balances across two queue managers. When I look at the JMS trace, it seems to be connecting twice, but only for temp queues (if I use a local queue, everything works fine, and I only see one connect in the trace). Of course, bigIP load balances the connections across the two queue managers, and I finish up trying to read from a queue that's on the other queue manager.

Why 2 connects? Anybody have an explanation/solution/workaround for this?
_________________
Brian Meekings
Information Design, Inc.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
fjb_saper
PostPosted: Fri Apr 08, 2005 4:19 pm    Post subject: Reply with quote

Grand High Poobah

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

Yes,

If you need load balancing use a WebSphere MQ Cluster.

Enjoy
Back to top
View user's profile Send private message Send e-mail
meekings
PostPosted: Sat Apr 09, 2005 1:11 pm    Post subject: Reply with quote

Voyager

Joined: 28 Jun 2001
Posts: 86
Location: UK, South West

I'm using a cluster. Unfortunately, MQ clustering load balances messages within a connection, but not connections. I have client connections that need load balancing across several "gateway" queue managers. BigIP is convenient because it's being used to load balance other resources.
_________________
Brian Meekings
Information Design, Inc.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
jefflowrey
PostPosted: Sat Apr 09, 2005 2:01 pm    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

MQ channels generally don't like being loadbalanced at the network level.

If you need client connection failover, usually this is handled in the client application.
_________________
I am *not* the model of the modern major general.
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 » MQ JMS/RADWARE MQJMS 1017 temp queue error?
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.