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 API Support » accessQueue Hangs

Post new topic  Reply to topic
 accessQueue Hangs « View previous topic :: View next topic » 
Author Message
Mut1ey
PostPosted: Fri Apr 21, 2006 3:46 am    Post subject: accessQueue Hangs Reply with quote

Acolyte

Joined: 07 Oct 2005
Posts: 74
Location: England

Hello

We are having a strange problem with a base Java application that used to work but doesn't seem to anymore. When the client reverts to an earlier version of the code, that used to work, it still does not. There have been no changes to the MQ infrastructure and no changes to the MQ code except at the message level, which is clearly after the accessQueue command. Debug information reports that the accessQueue call does not return control to the thread.

MQ5.3 CSD 10 Windows 2000

The form of the command is:
MQQueue outgoingQueue = qManager.accessQueue(queueName, OUTGOING_OPEN_QUEUE_OPTIONS, queueManager, null, null);

No error is thrown/ caught and the command does not complete. We have even tested with hard coded queue and qmanager values that are do not exist with the same result. If I use the API exerciser I can write to this queue ( a local non-clustered queue resolved through the cluster - hence the qmgr name in the call).

Does anyone have any ideas?
Back to top
View user's profile Send private message
jefflowrey
PostPosted: Fri Apr 21, 2006 3:51 am    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

"local non-clustered queue resolved through the cluster"?

What?

Is it a QLOCAL on the qmgr, or a QCLUSTER?

If it's a QLOCAL and it's not shared in the cluster, you can't use the cluster to resolve it! If it's shared in the cluster, it's not a "non-clustered queue"!

Is the queueName you are passing the actual name of the queue, or the name of an alias to the queue?
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
Mut1ey
PostPosted: Fri Apr 21, 2006 3:56 am    Post subject: Reply with quote

Acolyte

Joined: 07 Oct 2005
Posts: 74
Location: England

Maybe resolved is the wrong word, it is routed via the cluster.
Back to top
View user's profile Send private message
jefflowrey
PostPosted: Fri Apr 21, 2006 4:01 am    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

That doesn't clear up my confusion.

On the queue manager you are connecting to, is the queue a QLOCAL or a QCLUSTER?

Is the QLOCAL, wherever it is, shared in the cluster or not?

Is the name you are passing in the variable "queueName" the actual name of the queue?
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
Mut1ey
PostPosted: Fri Apr 21, 2006 4:19 am    Post subject: Reply with quote

Acolyte

Joined: 07 Oct 2005
Posts: 74
Location: England

Jeff

We issue the accessQueue call on the Windows machine. There are no local/ remote/ alias queues that match the name on the local qmgr. Ther is no cluster q that matches the name. However, on the accessQueue call we also specify the remote qmgr name. The queue that we are accessing is a local queue that resides on this remote qmgr. Because that qmgr is known about in the cluster the message is routed to it.

HTH

Neil
Back to top
View user's profile Send private message
jefflowrey
PostPosted: Fri Apr 21, 2006 4:28 am    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

Okay. So it's a remote queue that you are referencing directly, without using a QREMOTE.

What happens if you create a qremote or share the queue in the cluster - does the accessQueue return?
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
Mut1ey
PostPosted: Mon Apr 24, 2006 5:01 am    Post subject: Reply with quote

Acolyte

Joined: 07 Oct 2005
Posts: 74
Location: England

The application developers are checking their code again. I will keep you posted.
Back to top
View user's profile Send private message
Mut1ey
PostPosted: Wed May 24, 2006 4:11 am    Post subject: Reply with quote

Acolyte

Joined: 07 Oct 2005
Posts: 74
Location: England

Yes, indeed the developers had coded incorrectly, not realising that the queuemanager object blocks between application requets.

Quote:
The implementation of WebSphere MQ classes for Java ensures that, for a given connection (MQQueueManager object instance), all access to the target WebSphere MQ queue manager is synchronized. A thread that wants to issue a call to a queue manager is blocked until all other calls in progress for that connection are complete. If you require simultaneous access to the same queue manager from multiple threads within your program, create a new MQQueueManager object for each thread that requires concurrent access. (This is equivalent to issuing a separate MQCONN call for each thread.)


Although their application seemed to work before, they were not doing the first step. which blocks the second request. This is consistent with no-error being returned but the call appearing to "hang".

Thanks

Neil
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 API Support » accessQueue Hangs
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.