Author |
Message
|
sgiles |
Posted: Wed Feb 23, 2011 12:58 am Post subject: Changing from MQ server to MQ client |
|
|
Newbie
Joined: 12 Feb 2002 Posts: 8 Location: Melbourne , Australia
|
Hi,
We are looking at removing MQ managers on our distributed servers to be replaced by a central MQ hub that is instead accessed by MQ clients on the distributed servers.
We want to limit the work required to perform the migration and I was wondering whether there is a way to use aliases/topics/other to protect the central and distributed applications from having to change for the migration.
For example, the central application currently sends data to the various distributed servers by specifying a different Queue Manager.
ie
Put message to Q1 on QM1
Put message to Q1 on QM2
....
Put message to Q1 on QM999
In the new centralised MQ hub model there only be a central MQ manager with different queue names. This allows the clients at each distributed server to get their specific messages.
Ie
Get message from Q1 on QM1
Get message from Q2 on QM1
...
Get message from Q999 on QM1
is there a way to set up a configuration/alias/topic/clusters so that
a message put to Q1 on QM999 can be routed to Q999 on QM1.
The approach of creating an alias for each QM to become QM1 would not work as this would not allow differentiation of the queues.
Appreciate your thoughts or ideas
Regards
Stephen |
|
Back to top |
|
 |
zpat |
Posted: Wed Feb 23, 2011 1:20 am Post subject: |
|
|
 Jedi Council
Joined: 19 May 2001 Posts: 5866 Location: UK
|
Any given application should only ever connect to one QM, using remote queues to send the messages when they route to other QMs.
If you want to put to one queue name and have the message arrive on another queue name (on the same queue manager) then aliases are the way to go.
But you can't use different aliases for different client applications on the same queue manager, without setting these alias names in the client apps configuration.
So you need to have enough unique queues set up and it will require some of the clients to change the queue name they refer to. |
|
Back to top |
|
 |
santnmq |
Posted: Wed Feb 23, 2011 2:43 am Post subject: |
|
|
Centurion
Joined: 11 Jan 2011 Posts: 125
|
client applications can connect to any queue on the qmgr QM1. You can use the qalias to route the messages to other queue also.
But why you want to route the msgs within one queue manager? |
|
Back to top |
|
 |
fatherjack |
Posted: Wed Feb 23, 2011 3:07 am Post subject: |
|
|
 Knight
Joined: 14 Apr 2010 Posts: 522 Location: Craggy Island
|
santnmq wrote: |
client applications can connect to any queue on the qmgr QM1. |
apps don't connect to queues. they connect to qmgrs. _________________ Never let the facts get in the way of a good theory. |
|
Back to top |
|
 |
santnmq |
Posted: Wed Feb 23, 2011 4:02 am Post subject: |
|
|
Centurion
Joined: 11 Jan 2011 Posts: 125
|
fatherjack, thanks to correct me on this ..
I mean, once you are connected to the queue manager(server), you can have access to all queues also (if the user id have that authority) |
|
Back to top |
|
 |
zpat |
Posted: Wed Feb 23, 2011 4:33 am Post subject: |
|
|
 Jedi Council
Joined: 19 May 2001 Posts: 5866 Location: UK
|
MQCONN - connect to the QM
MQOPEN - opens a queue for inqure, browse, input and/or output.
You can open more than one queue at the same time under the same connection.
A basic knowledge of the MQI calls is worth acquiring, even if you are not a developer. |
|
Back to top |
|
 |
mqjeff |
Posted: Wed Feb 23, 2011 4:50 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
I don't think you can rework this - that is to invert the routing from qm based to queue based - without changing the putting application.
If you take the time to convert the put application to open QALIASes or otherwise to open unique queue names, you will find that you can then use MQ to move the actual location of those queues around without further change.
Or you could put in another program that would read the messages from the single Q1 and then redistribute them to the appropriate specific destination. |
|
Back to top |
|
 |
zpat |
Posted: Wed Feb 23, 2011 6:04 am Post subject: |
|
|
 Jedi Council
Joined: 19 May 2001 Posts: 5866 Location: UK
|
An existing program that can put to a remote queue, should be able to put to an alias of a local queue, or to a local queue directly without any programming changes.
Sometimes programs that put to local queues can't put to remote queues because they (mistakenly) open the output queue for both input and output.
But you will need to configure the application to use the new queue name, this should be externalised anyway, into an ini file or QCF etc. |
|
Back to top |
|
 |
fjb_saper |
Posted: Wed Feb 23, 2011 6:41 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
And please remember to take into consideration the implications of 2 phase commit, specially if you move from a bindings connection to a client connection!  _________________ MQ & Broker admin |
|
Back to top |
|
 |
|