Author |
Message
|
jdwolf |
Posted: Wed Jun 22, 2005 6:09 am Post subject: JMS Pub/Sub with MQ 5.3 and Ma0c support pac |
|
|
Novice
Joined: 22 Jun 2005 Posts: 13
|
Hello,
I am investigating PubSub messaging using a J2EE fat client app in WSAD that communicates with WAS to publish a message on a Topic configured in WAS. All goes well (TopicConnectionFactory, Topic, Session, start) until the message is actually published. Then the program halts and after a time out i get the MQJMS5053 error indication that my broker is not running.
I checked the following:
- Installed Support Pac Ma0c as recommended by IBM
- Checked the broker version (should be set to basic) in WAS
- Installed CSD 10 (latest fixpack for MQ5.3)
- Created the internal queues for pub/sub (runmqsc < MQJMS_PSQ.mqsc)
- Started the broker (strmqbrk -m QMAN1)
- Verified if the broker is indeed running (dspmqbrk -m QMAN1) --> OK
- Done a verification test (psivtrun -nojndi -m QMAN1) --> fail
The verification test fails on the same exception as my program. So that is at least consistent.
The actual exception is:
com.ibm.mq.jms.NoBrokerResponseException: MQJMS5053: *** No broker response. Please ensure that the broker is running. If you are using the WebSphere MQ broker check that your brokerVersion is set to V1 ***
at com.ibm.mq.jms.MQTopicPublisher.publish(MQTopicPublisher.java:214)
at PubSub.main(PubSub.java:53)
at java.lang.reflect.Method.invoke(Native Method)
at com.ibm.websphere.client.applicationclient.launchClient.createContainerAndLaunchApp(launchClient.java:618)
at com.ibm.websphere.client.applicationclient.launchClient.main(launchClient.java:451)
at java.lang.reflect.Method.invoke(Native Method)
at com.ibm.ws.bootstrap.WSLauncher.main(WSLauncher.java:9
Did I oversee something?
Kind regards,
Jeroen de Wolf
System info:
W2K latest SP
WSAD5
WAS5
MQ5.3 + CSD10 |
|
Back to top |
|
 |
jefflowrey |
Posted: Wed Jun 22, 2005 6:11 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
Are you trying to talk to a queue manager that is local to the J2EE Client, or to the J2EE Server?
Because you need to configure your Topic Connection Factory, etc., such that it will "make sense" on the client machine, not on the server machine. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
jdwolf |
Posted: Wed Jun 22, 2005 6:15 am Post subject: |
|
|
Novice
Joined: 22 Jun 2005 Posts: 13
|
Hi,
The client (J2EE fat client running in WSAD), the server (WAS), and the Queue Manager are on the same machine so I use binding mode. When i get this working I want to try to connect to a remote queue manager.
Kind regards,
Jeroen de Wolf |
|
Back to top |
|
 |
jefflowrey |
Posted: Wed Jun 22, 2005 6:18 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
Do a "dis ql(*BROKER*) curdepth" and see if there are messages that there shouldn't be.
Also, check that the broker version on the TCF is actually set to 1.
Also look for errors in the MQ logs. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
jdwolf |
Posted: Wed Jun 22, 2005 6:23 am Post subject: |
|
|
Novice
Joined: 22 Jun 2005 Posts: 13
|
jefflowrey wrote: |
Do a "dis ql(*BROKER*) curdepth" and see if there are messages that there shouldn't be.
Also, check that the broker version on the TCF is actually set to 1.
Also look for errors in the MQ logs. |
Where can I find this dis ql command. Ive looked in MQ_INSTALL\bin and MQ_INSTALL\Java\bin |
|
Back to top |
|
 |
jefflowrey |
Posted: Wed Jun 22, 2005 6:24 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
Sorry, that's an MQ Script Command (MQSC).
'runmqsc <qmgrname>'
will give you a prompt to run the display queue local command.
Or just use Explorer (if you're on windows) and show System Queues, sort by depth and see what you see. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
jdwolf |
Posted: Wed Jun 22, 2005 6:30 am Post subject: |
|
|
Novice
Joined: 22 Jun 2005 Posts: 13
|
I get :
3 : dis ql(QMAN1) curdepth
AMQ8147: WebSphere MQ object QMAN1 not found.
I assumed QMAN1 (the Queue manager) is the broker name, or is this wrong? |
|
Back to top |
|
 |
wschutz |
Posted: Wed Jun 22, 2005 6:37 am Post subject: |
|
|
 Jedi Knight
Joined: 02 Jun 2005 Posts: 3316 Location: IBM (retired)
|
I'm confused....
Quote: |
- Installed Support Pac Ma0c as recommended by IBM
- Installed CSD 10 (latest fixpack for MQ5.3)
|
If you have csd10 installed, you should not have installed MA0C as beginning with CSD8 that function is included with the qmgr.
Am I missing something? _________________ -wayne |
|
Back to top |
|
 |
jdwolf |
Posted: Wed Jun 22, 2005 6:41 am Post subject: |
|
|
Novice
Joined: 22 Jun 2005 Posts: 13
|
You could be right here, I did not know that. In my despair I installed CSD10 because I know from experience that IBM service packs sometimes do the trick. |
|
Back to top |
|
 |
jefflowrey |
Posted: Wed Jun 22, 2005 6:45 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
jdwolf wrote: |
I get :
3 : dis ql(QMAN1) curdepth
AMQ8147: WebSphere MQ object QMAN1 not found.
I assumed QMAN1 (the Queue manager) is the broker name, or is this wrong? |
Yes.
I meant do exactly 'dis ql(*BROKER*) curdepth'. That will show you the current depth on all local queues that have "BROKER" in their name. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
jdwolf |
Posted: Wed Jun 22, 2005 6:51 am Post subject: |
|
|
Novice
Joined: 22 Jun 2005 Posts: 13
|
I think I have something. When I view the system objects, I see an accumulation of messages sent today and earlier. They are put on the SYSTEM.BROKER.DEFAULT.STREAM.
If they appear on this location, how can it be that my program exits with this exception and ivtrun too, saying the broker is not active? Apparently, its active because the messages appear on the stream queue (which i configured in WAS).
??? |
|
Back to top |
|
 |
jefflowrey |
Posted: Wed Jun 22, 2005 6:58 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
It's saying it's not active because it is not able to process the replies that the broker is trying to give you, I think.
Per wschutz, though, I'd suggest you follow whatever procedures are necesssary to uninstall MAOC, and then reapply CSD10.
And then see if things are still broken. If they are, we go back to troubleshooting. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
wschutz |
Posted: Wed Jun 22, 2005 6:59 am Post subject: |
|
|
 Jedi Knight
Joined: 02 Jun 2005 Posts: 3316 Location: IBM (retired)
|
Quote: |
You could be right here, I did not know that. In my despair I installed CSD10 because I know from experience that IBM service packs sometimes do the trick.
|
Well... I'd recommend deleteing the qmgr, uninstalling ma0c and base mq, re-installing mq and then applying csd10. Do not install MA0C. _________________ -wayne |
|
Back to top |
|
 |
EddieA |
Posted: Wed Jun 22, 2005 6:59 am Post subject: |
|
|
 Jedi
Joined: 28 Jun 2001 Posts: 2453 Location: Los Angeles
|
Quote: |
I meant do exactly 'dis ql(*BROKER*) curdepth'. That will show you the current depth on all local queues that have "BROKER" in their name. |
Are you sure. Wildcards are only allowed to be trailing. Not leading.
Cheers, _________________ Eddie Atherton
IBM Certified Solution Developer - WebSphere Message Broker V6.1
IBM Certified Solution Developer - WebSphere Message Broker V7.0 |
|
Back to top |
|
 |
jefflowrey |
Posted: Wed Jun 22, 2005 7:02 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
EddieA wrote: |
Are you sure. Wildcards are only allowed to be trailing. Not leading. |
 _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
|