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 Installation/Configuration Support » Problem with remote queues and channels

Post new topic  Reply to topic
 Problem with remote queues and channels « View previous topic :: View next topic » 
Author Message
famls
PostPosted: Tue Sep 24, 2002 4:09 am    Post subject: Problem with remote queues and channels Reply with quote

Newbie

Joined: 24 Sep 2002
Posts: 4

Hi!
I'm new on MQSeries and I'm trying to create some remote queues on Solaris. From what I read it's necessary to create also some channels and transmission queues. I tried the following:

-- server1 --
# Channels
.define channel(server1.to.server2) chltype(sdr) conname(server2) trptype(tcp) xmitq(XMITQ.IN.QUEUE)
.define channel(server2.to.server1) chltype(rcvr) trptype(tcp)

# Remote queue
.define qlocal(XMITQ.IN.QUEUE) usage(xmitq)
.define qremote(IN.QUEUE) rname(IN.QUEUE) rqmname(server2) xmitq(XMITQ.IN.QUEUE)

#Local queue
.define qlocal(OUT.QUEUE)

-- server2 --
# Channels
.define channel(server2.to.server1) chltype(sdr) conname(server1) trptype(tcp) xmitq(XMITQ.OUT.QUEUE)
.define channel(server1.to.server2) chltype(rcvr) trptype(tcp)

# Remote queue
.define qlocal(XMITQ.OUT.QUEUE) usage(xmitq)
.define qremote(OUT.QUEUE) rname(OUT.QUEUE) rqmname(server1) xmitq(XMITQ.OUT.QUEUE)

#Local queue
.define qlocal(IN.QUEUE)


When I try to send a message using the remote queue nothing reaches the orher side.
Another problem I'm having is that I can't start the channel using the following command (executed on serve1 and the default queue manager):
runmqchl -c server1.to.server2
It's gives the following errors:
AMQ9519: Channel 'server1.to.server2' not found.
AMQ9999: Channel program ended abnormally.

But it existes. Running runmqsc I can see the channel definition.
Just one more question: how can I see if a channel is running?

Sorry for the long post.
Thanks in advanced.

Regards,
Fernando Silva
Back to top
View user's profile Send private message
mrlinux
PostPosted: Tue Sep 24, 2002 4:28 am    Post subject: Reply with quote

Grand Master

Joined: 14 Feb 2002
Posts: 1261
Location: Detroit,MI USA

well i believe your issue with starting the channels is that you have case issue.
when defining channels unless you put the name in quotes 'server1.to.server2' the name will default to uppercase (real unix like )
_________________
Jeff

IBM Certified Developer MQSeries
IBM Certified Specialist MQSeries
IBM Certified Solutions Expert MQSeries
Back to top
View user's profile Send private message Send e-mail
famls
PostPosted: Tue Sep 24, 2002 8:01 am    Post subject: Reply with quote

Newbie

Joined: 24 Sep 2002
Posts: 4

Thanks about starting the channels.
Now I can start them up. I checked the status and they are running in both machines.

Now my problem is putting a message on a remote queue and receive it on the other side.

Besides starting up channels what more is needed?

I execute on server1:
amqsput IN.QUEUE
and I insert some lines... no error.

On server2 I execute:
amqsget IN.QUEUE
and no messages are available.

What am I doing wrong? Could it be from the configuration?

Thanks in advance.
Regards,
Fernando Silva
Back to top
View user's profile Send private message
mrlinux
PostPosted: Tue Sep 24, 2002 8:07 am    Post subject: Reply with quote

Grand Master

Joined: 14 Feb 2002
Posts: 1261
Location: Detroit,MI USA

It's possible you have case issue there, all string definitions in MQSeries on unix platforms default to upper case unless quoted.

Of course on windows it uses whatever case you type in.

To me this seems reversed (WINDOWS typically ignores case and UNIX is the case sensitve one)
_________________
Jeff

IBM Certified Developer MQSeries
IBM Certified Specialist MQSeries
IBM Certified Solutions Expert MQSeries
Back to top
View user's profile Send private message Send e-mail
nando32
PostPosted: Tue Oct 15, 2002 8:30 pm    Post subject: Reply with quote

Newbie

Joined: 01 Jul 2002
Posts: 9
Location: Sacramento California

Working with Unix I can tell you that it does not matter if you use upcase with IN the runmqsc command line. Try to ping the channel and see what you get back. Also try to ping the server from the operating system /usr/sbin/ping. I did not see the port in the conname, are if you are using the default port 1414 this will work. If you have changed ports you will need to add it in the conname (example CONNAME ('12.258.256.5(1415)') Your problem might be at the OS level, or a simple typing error.
_________________
Fernando Acosta
Barclays Global Investors
Back to top
View user's profile Send private message Send e-mail Visit poster's website
bduncan
PostPosted: Tue Oct 15, 2002 8:53 pm    Post subject: Reply with quote

Padawan

Joined: 11 Apr 2001
Posts: 1554
Location: Silicon Valley

Quote:
Working with Unix I can tell you that it does not matter if you use upcase with IN the runmqsc command line.

This is not correct. While most parts of runmqsc accept either case (they infact upcase everything you type, which is different than being case insensitive) there are some places where the case you use matters.

If you are defining a process and you're entering the actual command to be run, you must enclose it in single quotes or the whole string will be upcased, in which case your trigger may not work.

In fact, anything, even a queue can be defined in a case-sensitive context. To illustrate, try doing this in runmqsc:

"define ql(test)"
"define ql('test')"
"alter ql(test) maxdepth(123456)"
"dis ql(test)"
"dis ql('test')"

The first suprising thing is that the second define command doesn't fail. You now have, in fact, two different local queues. Changing the depth on one and then displaying the attributes of each proves this...
_________________
Brandon Duncan
IBM Certified MQSeries Specialist
MQSeries.net forum moderator
Back to top
View user's profile Send private message Visit poster's website AIM Address
nimconsult
PostPosted: Tue Oct 15, 2002 11:37 pm    Post subject: Reply with quote

Master

Joined: 22 May 2002
Posts: 268
Location: NIMCONSULT - Belgium

Fernando, you will either find your messages on the transmission queue of server 1 (XMITQ.IN.QUEUE), in which case you have a channel proble, or on the system dead-letter queue of server 2 (normally SYSTEM.DEAD.LETTER.QUEUE), in which case you read the queue content and find the exact reson of the problem in the dead-letter message header.

If you have not defined a dead-letter queue on server 2 I strongly recommend you to do so:

alter qmgr deadq(SYSTEM.DEAD.LETTER.QUEUE)


-
Nicolas
_________________
Nicolas Maréchal
Senior Architect - Partner

NIMCONSULT Software Architecture Services (Belgium)
http://www.nimconsult.be
Back to top
View user's profile Send private message Send e-mail Visit poster's website
mgrabinski
PostPosted: Wed Oct 16, 2002 1:11 am    Post subject: Reply with quote

Master

Joined: 16 Oct 2001
Posts: 246
Location: Katowice, Poland

Fernando,

Is 'server2' a host name or a queue manager name or both? What's the actual spelling of your queue manager name (lower/upper case)?
_________________
Marcin Grabinski <><
Back to top
View user's profile Send private message
TonyD
PostPosted: Wed Oct 16, 2002 2:27 pm    Post subject: Reply with quote

Knight

Joined: 15 May 2001
Posts: 540
Location: New Zealand

I would strongly suggest that you redefine everything with UPPER-CASE names and then start off again.
Back to top
View user's profile Send private message Send e-mail
jc_squire
PostPosted: Mon Oct 21, 2002 3:13 pm    Post subject: Reply with quote

Centurion

Joined: 14 Apr 2002
Posts: 105
Location: New Zealand

u should also setup triggering on the xmitq so that the chl can be triggered if it has gone inactive

Also, have you checked the error logs?

Suggestion (observing case sensitivity ofcourse):

1. Stop the channel from server1.to.server2
2. using amqsput put a message to the R/Q def on server1
3. ensure that the curdepth attribute of the xmitq on server1 has incremented
4. start the chls and check the chl status
5. check the curdepth attribute of destination queue on server2
6. using amqsget get the message from the destination queue and verify the content.

This process will pinpoint where you have problems i.e. could be a number of issues here.

Good luck !!!
_________________
J C Squire
IBM Certified Specialist - MQSeries
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 Installation/Configuration Support » Problem with remote queues and channels
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.