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 » MQJMS1111 error on Websphere MQ

Post new topic  Reply to topic
 MQJMS1111 error on Websphere MQ « View previous topic :: View next topic » 
Author Message
Balatseng
PostPosted: Mon Aug 07, 2006 12:16 pm    Post subject: MQJMS1111 error on Websphere MQ Reply with quote

Newbie

Joined: 11 Jul 2006
Posts: 8

Hi guys,

I'm trying to publish a message to a topic in MQ, and I'm getting the following error:

javax.jms.JMSException: MQJMS1111: JMS1.1 The required Queues/Publish Subscribe services are not set up {0}.

I have setup two Qmanagers, QM1 and QM2, on two different machines, with the following settings:

1. QM2 has a JMS Broker (SYSTEM.BROKER) started with the following queues:

(a) Broker Con Queue - SYSTEM.BROKER.CONTROL.QUEUE
(b) Broker Pub Queue - SYSTEM.BROKER.DEFAULT.STREAM
(c) Broker Sub Queue - SYSTEM.JMS.ND.SUBSCRIBER.QUEUE
(d) Broker CC Queue - SYSTEM.JMS.ND.CC.SUBSCRIBER.QUEUE

2. Receiver Channel - CTI_TO_OTB
3. Listener - SYSTEM.DEFAULT.LISTENER.TCP (on port 1414)

Then on QM1, I have the following settings:

1. (a) Remote Queue Definition for Broker Con Queue (BROKER.CONTROL.QUEUE)
(b) Remote Queue Definition for Broker Pub Queue (BROKER.DEFAULT.STREAM)
(c) Remote Queue Definition for Broker Sub Queue (BROKER.SUBSCRIBER.QUEUE)
(d) Remote Queue Definition for Broker CC Queue (BROKER.CC.SUBSCRIBER.QUEUE)
2. Transmission Queue - QM2
3. Sender Channel - CTI_TO_OTB (the connection points to the machine with QM2 on port 1414)
4. Listener - SYSTEM.DEFAULT.LISTENER.TCP (on port 1414)
5. JMS Topic Connection Factory (on QM1) with the following properties:
(a) JNDI Name - TELEPHONY_EVENTS_TCF
(b) QMANAGER - QM1
(c) BROKERQMANAGER: QM2
(d) BROKERCONQ - BROKER.CONTROL.QUEUE
(e) BROKERPUBQ - BROKER.DEFAULT.STREAM
(f) BROKERSUBQ - BROKER.SUBSCRIBER.QUEUE
(g) BROKERCCSUBQ - BROKER.CC.SUBSCRIBER.QUEUE
(h) CHANNEL - CTI_TO_OTB
(i) TRANSPORT - BIND

6. JMS Topic with the following properties:
(a) JNDI Name - MakeCall
(b) TOPIC - cti/telephony/callevents/makecall
(c) BROKERCONQ - BROKER.CONTROL.QUEUE
(d) BROKERPUBQ - BROKER.DEFAULT.STREAM
(e) BROKERSUBQ - BROKER.SUBSCRIBER.QUEUE
(f) BROKERCCSUBQ - BROKER.CC.SUBSCRIBER.QUEUE

My JMS application runs on the same machine as QM1, and I'm trying to publish messages on on QM1 so that they can be consumed by a Message Driven Bean (MDB) running on the machine with QM2.

Is there anything that I have missed that might cause an error?

Cheers
Back to top
View user's profile Send private message
vennela
PostPosted: Mon Aug 07, 2006 1:42 pm    Post subject: Reply with quote

Jedi Knight

Joined: 11 Aug 2002
Posts: 4055
Location: Hyderabad, India

What does the PUB/SUB broker status is shown as
Code:
dspmqbrk -m QMGRNAME
Back to top
View user's profile Send private message Send e-mail Visit poster's website
fjb_saper
PostPosted: Mon Aug 07, 2006 2:08 pm    Post subject: Reply with quote

Grand High Poobah

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

You should not need to create remote queues for the broker system queues. You need however to have a default path from QM1 to QM2 and vice versa. In the Topic factory specify that the broker resides on QM2. This should be sufficient.

Enjoy
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
Balatseng
PostPosted: Mon Aug 07, 2006 11:49 pm    Post subject: Reply with quote

Newbie

Joined: 11 Jul 2006
Posts: 8

vennela wrote:
What does the PUB/SUB broker status is shown as
Code:
dspmqbrk -m QMGRNAME


Hi,

The MQ Pub/Sub broker for the Queue Manager is running.
Back to top
View user's profile Send private message
Balatseng
PostPosted: Tue Aug 08, 2006 3:57 am    Post subject: Reply with quote

Newbie

Joined: 11 Jul 2006
Posts: 8

fjb_saper wrote:
You should not need to create remote queues for the broker system queues. You need however to have a default path from QM1 to QM2 and vice versa. In the Topic factory specify that the broker resides on QM2. This should be sufficient.

Enjoy


Sorry for my ignorance, but

How do you specify a path between two Queue Managers to be DEFAULT?
Also, I'm I correct to specify the transport parameter as "bind"?
Back to top
View user's profile Send private message
Vitor
PostPosted: Tue Aug 08, 2006 4:05 am    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

Balatseng wrote:

How do you specify a path between two Queue Managers to be DEFAULT?


Give the xmitq queue the same name as the queue manager it services.

So for example on QM1, there will be a sender channel pointing to QM2 that uses an xmitq called QM2. Messages that are addressed to QM2 will go to that xmitq by default because the name matches.

Remember case is significant.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
Balatseng
PostPosted: Tue Aug 08, 2006 4:57 am    Post subject: Reply with quote

Newbie

Joined: 11 Jul 2006
Posts: 8

Hi guys,

I still get the error

javax.jms.JMSException: MQJMS1111: JMS1.1 The required queues/Publish Subscribe services are not set up {0} at com.ibm.mq.jms.MQConnection.setSubscriptionStoresMQConnection.java:3755)
at com.ibm.mq.jms.MQConnection.getMQPubSubServices(MQConnection.java:3686)
at com.ibm.mq.jms.MQSession.addPubSubServices(MQSession.java:6609)
at com.ibm.mq.jms.MQSession.createTPublisher(MQSession.java:5564)
at com.ibm.mq.jms.MQTopicSession.createPublisher(MQTopicSession.java:503)
at com.comp.cc.events.JMSBase.createTopicPublisher(JMSBase.java:169)
at za.co.fnb.cc.events.EventsPublisher.publishEvent(EventsPublisher.java:257)

My logs say:

INFO - The looked up topic is topic://MakeCallTest
INFO - TopicSession is com.ibm.mq.jms.MQTopicSession@6cb9004c
INFO - Topic is topic://MakeCallTest
ERROR - Could not create a Topic Publisher
javax.jms.JMSException: MQJMS1111: JMS1.1 The required queues/Publish Subscribe services are not set up {0}

I have two Qmanagers, QM1 and QM2, on two different machines, with the following settings:

1. QM2 has a JMS Broker (SYSTEM.BROKER) started with the following queues:

(a) Broker Con Queue - SYSTEM.BROKER.CONTROL.QUEUE
(b) Broker Pub Queue - SYSTEM.BROKER.DEFAULT.STREAM
(c) Broker Sub Queue - SYSTEM.JMS.ND.SUBSCRIBER.QUEUE
(d) Broker CC Queue - SYSTEM.JMS.ND.CC.SUBSCRIBER.QUEUE

2. Receiver Channel - CTI_TO_OTB
3. Sender channel - OTB_TO_CTI
4. Transmission queue - QM1
5. Listener - SYSTEM.DEFAULT.LISTENER.TCP (on port 1414)

QM1 only has:

1. Receiver Channel - OTB_TO_CTI
2. Sender channel - CTI_TO_OTB
3. Transmission queue - QM2
4. Listener - SYSTEM.DEFAULT.LISTENER.TCP (on port 1414)
5. TCF defined as follows:
JNDI Name: EVENTS_TCF
BROKERSUBQ(SYSTEM.JMS.ND.SUBSCRIBER.QUEUE)
MSGSELECTION(CLIENT)
BROKERCONQ(SYSTEM.BROKER.CONTROL.QUEUE)
BROKERCCSUBQ(SYSTEM.JMS.ND.CC.SUBSCRIBER.QUEUE)
BROKERQMGR(QM2)
BROKERPUBQ(SYSTEM.BROKER.DEFAULT.STREAM)
QMANAGER(QM1)
BROKERVER(V1)
TRANSPORT(BIND)
6. Topic defined as follows
BROKERPUBQMGR(QM2)
BROKERDURSUBQ(SYSTEM.JMS.D.SUBSCRIBER.QUEUE)
TOPIC(MakeCallTest)
BROKERPUBQ()
BROKERVER(V1)
TARGCLIENT(JMS)
BROKERCCDURSUBQ(SYSTEM.JMS.D.CC.SUBSCRIBER.QUEUE)

Is there anything that I'm missing?
Back to top
View user's profile Send private message
bower5932
PostPosted: Tue Aug 08, 2006 5:59 am    Post subject: Reply with quote

Jedi Knight

Joined: 27 Aug 2001
Posts: 3023
Location: Dallas, TX, USA

Out of curiosity, does it work on just a single QM? I'd confirm this before going to the two QMs.
Back to top
View user's profile Send private message Send e-mail Visit poster's website AIM Address Yahoo Messenger
fjb_saper
PostPosted: Tue Aug 08, 2006 2:28 pm    Post subject: Reply with quote

Grand High Poobah

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

And you did not specify at all what your JNDI settings were on the tcf. This where you need to specify where the broker is...
You connect to qm1 on the tcf but the tcf knows that the broker is on qm2. Otherwise it will try to have the service run on qm1 and it just won't work...

Enjoy
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
jefflowrey
PostPosted: Tue Aug 08, 2006 2:36 pm    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

fjb_saper wrote:
And you did not specify at all what your JNDI settings were on the tcf.

Balatseng wrote:
5. TCF defined as follows:
JNDI Name: EVENTS_TCF
BROKERSUBQ(SYSTEM.JMS.ND.SUBSCRIBER.QUEUE)
MSGSELECTION(CLIENT)
BROKERCONQ(SYSTEM.BROKER.CONTROL.QUEUE)
BROKERCCSUBQ(SYSTEM.JMS.ND.CC.SUBSCRIBER.QUEUE)
BROKERQMGR(QM2)
BROKERPUBQ(SYSTEM.BROKER.DEFAULT.STREAM)
QMANAGER(QM1)
BROKERVER(V1)
TRANSPORT(BIND)

_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Tue Aug 08, 2006 2:50 pm    Post subject: Reply with quote

Grand High Poobah

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

jefflowrey wrote:
fjb_saper wrote:
And you did not specify at all what your JNDI settings were on the tcf.

Balatseng wrote:
5. TCF defined as follows:
JNDI Name: EVENTS_TCF
BROKERSUBQ(SYSTEM.JMS.ND.SUBSCRIBER.QUEUE)
MSGSELECTION(CLIENT)
BROKERCONQ(SYSTEM.BROKER.CONTROL.QUEUE)
BROKERCCSUBQ(SYSTEM.JMS.ND.CC.SUBSCRIBER.QUEUE)
BROKERQMGR(QM2)
BROKERPUBQ(SYSTEM.BROKER.DEFAULT.STREAM)
QMANAGER(QM1)
BROKERVER(V1)
TRANSPORT(BIND)


I am going blind.

Jeff what does that mean for the subscription delivery. Would not the delivery need to be made to a queue on QM1 ? If that is not specified on the subscription registration what should be expected as error message? Would that error message hit at subscription time or publication time?
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
jefflowrey
PostPosted: Tue Aug 08, 2006 6:22 pm    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

I'm not quite sure what it means for the Topic.

I suspect that it means that the Topic should NOT set the Broker Queue Manager.

It'd be instructive to stop the channel and view the subscription request on the xmit queue and see what the replytoqueue was.
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Wed Aug 09, 2006 12:20 pm    Post subject: Reply with quote

Grand High Poobah

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

jefflowrey wrote:
I'm not quite sure what it means for the Topic.

I suspect that it means that the Topic should NOT set the Broker Queue Manager.

It'd be instructive to stop the channel and view the subscription request on the xmit queue and see what the replytoqueue was.


I understand that the replyto destination is used to send the result of the registration to. The subscription queue and queue manager are being set into the subscription queue manager and subscription queue fields (RFHUTIL with header version 1 or 2). Haven't looked into how the JMS interface treats this. Like you said it is probably worth stopping the channel and looking at the subscription on the queue...
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
Balatseng
PostPosted: Wed Aug 09, 2006 10:45 pm    Post subject: Reply with quote

Newbie

Joined: 11 Jul 2006
Posts: 8

bower5932 wrote:
Out of curiosity, does it work on just a single QM? I'd confirm this before going to the two QMs.


Yes. It works perfectly fine with a single Queue Manager. The problem only starts to occur when I try to link two Queue Managers.
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 » MQJMS1111 error on Websphere MQ
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.