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 » Moving message to 2nd queue using MQ Client without Get/Put

Post new topic  Reply to topic
 Moving message to 2nd queue using MQ Client without Get/Put « View previous topic :: View next topic » 
Author Message
yetanothersteve
PostPosted: Mon Sep 25, 2006 8:35 am    Post subject: Moving message to 2nd queue using MQ Client without Get/Put Reply with quote

Newbie

Joined: 25 Sep 2006
Posts: 3

I was wondering if it was possible to move a message from one local queue to another on a queue manager using the MQClient from a machine other than the queue manager.
I am trying to avoid getting the message across the network and then putting it, again using the network, into a secondary queue.

Background:-
1. Client A puts a message on local queue QMain.
2. Client B gets message off QMain, determines the message belongs to Client C and puts the message on local queue QClientC
3. Client C gets message off QClientC and performs work accordingly

Client B is a fan out or routing program running MQ53CSD08 on Solaris 2.8. Considering java for the programming language to avoid recompiling C code when we move to Solaris 9 or 10. Client B, due to my firm's policy, is not allowed to run on the queue manager, nor is a trigger monitor or any program I write allowed to run on the queue manager.

In step 2., I want to avoid the network traffic in getting the message to Client B's server and putting it back on QClientC at the queue manager from Client B's server.

The messages will have an average size of 1.2mb with a maximum size of 20mb. The 20mb maximum will require about 1 second to transmit at our network average of 20mb/s. I have a 5 second service level agreement to meet and shaving off 2 seconds would help a lot.

From googling and reading through the MQ Application Programming Guide, there does not appear to be anything like an MQMOVE command.
Back to top
View user's profile Send private message
tleichen
PostPosted: Mon Sep 25, 2006 9:25 am    Post subject: Re: Moving message to 2nd queue using MQ Client without Get/ Reply with quote

Yatiri

Joined: 11 Apr 2005
Posts: 663
Location: Center of the USA

yetanothersteve wrote:
…I am trying to avoid getting the message across the network and then putting it, again using the network, into a secondary queue.

Why?

yetanothersteve wrote:
Background:-
1. Client A puts a message on local queue QMain.
2. Client B gets message off QMain, determines the message belongs to Client C and puts the message on local queue QClientC
3. Client C gets message off QClientC and performs work accordingly

Client B is a fan out or routing program running MQ53CSD08 on Solaris 2.8. Considering java for the programming language to avoid recompiling C code when we move to Solaris 9 or 10. Client B, due to my firm's policy, is not allowed to run on the queue manager, nor is a trigger monitor or any program I write allowed to run on the queue manager.

If I get this straight, your company has made policies that keep the tool they purchased (MQ) from working the way it was designed to?!?

yetanothersteve wrote:
In step 2., I want to avoid the network traffic in getting the message to Client B's server and putting it back on QClientC at the queue manager from Client B's server.

So…. From the MQ client, you want to orchestrate data flow to/from MQSeries queues without using MQSeries gets and puts?!? I think you would need a magic wand!
_________________
IBM Certified MQSeries Specialist
IBM Certified MQSeries Developer
Back to top
View user's profile Send private message
jefflowrey
PostPosted: Mon Sep 25, 2006 9:35 am    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

You should not use an MQ Client to move messages between two queue managers. You should use MQ networking - i.e. sender/receiver channels.

You can't do anything with a message without either GETing or PUTing it to a queue.

Your design is not unreasonable, in that you have what seems to be a normal routing program that sits between several applications. It is also not uncommon for businesses to decide to use only client connections. But if they are also unwilling to accept the performance impact of using client connections, then they are being unreasonable.

There's no way you can use an MQClient connection that will avoid streaming the full message data across the client channel in both directions.

Well. Okay. You could do funny thing with API Exits, or perhaps reference messages. But that's an extraordinary waste of time and resources.
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
yetanothersteve
PostPosted: Mon Sep 25, 2006 10:31 am    Post subject: Reply with quote

Newbie

Joined: 25 Sep 2006
Posts: 3

Thank you for the quick response.
I did not think it was possible, but I wanted to check with some experts before I let everyone know there was a potential performance hit to using client based routing.

By keeping developer written programs off of their queue managers, the admins maintain their stellar uptime statistics.

If the performance does suffer due to the network traffic, this might just be the argument I was looking for to get a queue manager dedicated to this new application that would be allowed to host the routing or triggering program. I.e., if the queue manager belongs to my area and we are the only ones using it and it breaks, no damage to anybody else's queues availability.
Back to top
View user's profile Send private message
kevinf2349
PostPosted: Mon Sep 25, 2006 1:21 pm    Post subject: Reply with quote

Grand Master

Joined: 28 Feb 2003
Posts: 1311
Location: USA

Quote:
By keeping developer written programs off of their queue managers, the admins maintain their stellar uptime statistics.


Yeah we could all do that for every system if we stopped people from actually doing useful work on it.

btw....MQ has steller uptime even with developer written applications using the queue managers on the same box at our shop.
Back to top
View user's profile Send private message
jefflowrey
PostPosted: Mon Sep 25, 2006 2:13 pm    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

kevinf2349 wrote:
MQ has steller uptime even with developer written applications using the queue managers on the same box at our shop.


You've trained your developers not to tell Management that "MQ is broken!" everytime something goes wrong with their code?

I'm impressed.
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
tleichen
PostPosted: Mon Sep 25, 2006 4:15 pm    Post subject: Reply with quote

Yatiri

Joined: 11 Apr 2005
Posts: 663
Location: Center of the USA

jefflowrey wrote:
kevinf2349 wrote:
MQ has steller uptime even with developer written applications using the queue managers on the same box at our shop.


You've trained your developers not to tell Management that "MQ is broken!" everytime something goes wrong with their code?

I'm impressed.

Me too! It seems to me that the industry norm has become whenever there is a problem with an application, and it uses MQSeries, then the MQ support group is the first one that gets called, regardless of what the symptom is!
_________________
IBM Certified MQSeries Specialist
IBM Certified MQSeries Developer
Back to top
View user's profile Send private message
kevinf2349
PostPosted: Tue Sep 26, 2006 4:44 am    Post subject: Reply with quote

Grand Master

Joined: 28 Feb 2003
Posts: 1311
Location: USA

Quote:
It seems to me that the industry norm has become whenever there is a problem with an application, and it uses MQSeries, then the MQ support group is the first one that gets called, regardless of what the symptom is!


Oh trust me it wasn't easy, but they eventually got message (if you pardon the pun)
Back to top
View user's profile Send private message
tleichen
PostPosted: Tue Sep 26, 2006 8:17 am    Post subject: Reply with quote

Yatiri

Joined: 11 Apr 2005
Posts: 663
Location: Center of the USA

kevinf2349 wrote:
Oh trust me it wasn't easy, but they eventually got message (if you pardon the pun)

Ohh, brother!....
_________________
IBM Certified MQSeries Specialist
IBM Certified MQSeries Developer
Back to top
View user's profile Send private message
HubertKleinmanns
PostPosted: Tue Sep 26, 2006 10:05 am    Post subject: Reply with quote

Shaman

Joined: 24 Feb 2004
Posts: 732
Location: Germany

tleichen wrote:
jefflowrey wrote:
kevinf2349 wrote:
MQ has steller uptime even with developer written applications using the queue managers on the same box at our shop.


You've trained your developers not to tell Management that "MQ is broken!" everytime something goes wrong with their code?

I'm impressed.

Me too! It seems to me that the industry norm has become whenever there is a problem with an application, and it uses MQSeries, then the MQ support group is the first one that gets called, regardless of what the symptom is!


That's life !

But back to the question. I would design a small program, which gets messages off QMain, determines the message belongs to client B or client C and puts the message on local queues QClientB or QClientC respectively. Client B gets messages off QClientB and client C gets messages off QClientC.

This program should run local on the QMgr with server bindings and so would not use any channel connections.
_________________
Regards
Hubert
Back to top
View user's profile Send private message Visit poster's website
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » IBM MQ API Support » Moving message to 2nd queue using MQ Client without Get/Put
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.