Author |
Message
|
friedl.otto |
Posted: Mon Feb 11, 2008 4:25 am Post subject: Tried |
|
|
Centurion
Joined: 06 Jul 2007 Posts: 116
|
fjb_saper posted the following sample to hop-skip-and-jump a message:
QM1 -> QM2 -> QM3
QM1:
Code: |
DEFINE QREMOTE('MYDEST') RQMNAME('QM3') RNAME('MYDEST')
DEFINE QREMOTE('QM3') RQMNAME('QM3') RNAME('') XMITQ('QM2')
DEFINE QLOCAL('QM2') USAGE (XMITQ)
DEFINE CHANNEL('QM1_TO_QM2') CHLTYPE(SDR) CONNAME('QM2Host(QM2Port)') XMITQ('QM2') |
QM2:
Code: |
DEFINE CHANNEL('QM1_TO_QM2') CHLTYPE(RCVR)
DEFINE CHANNEL('QM2_TO_QM3') CHLTYPE(SDR) CONNAME('QM3Host(QM3Port)') XMITQ('QM3')
DEFINE QLOCAL('QM3') USAGE (XMITQ) |
QM3:
Code: |
DEFINE CHANNEL('QM2_TO_QM3') CHLTYPE(RCVR)
DEFINE QLOCAL('MYDEST') |
I have entered the QM1 details, since I wanted to see how the message
would look on the XMITQ. I posted a message to 'MYDEST' and got this:
Code: |
2091 0x0000082b MQRC_XMIT_Q_TYPE_ERROR |
Am I a dimwit? _________________ Here's an idea - don't destroy semaphores unless you're certain of what you're doing! -- Vitor
Last edited by friedl.otto on Mon Feb 11, 2008 4:42 am; edited 1 time in total |
|
Back to top |
|
 |
Vitor |
Posted: Mon Feb 11, 2008 4:41 am Post subject: Re: Tried |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
friedl.otto wrote: |
Someone posted the following sample to hop-skip-and-jump a message |
I think it was the Intercommunication manual, which quotes this scenario.
friedl.otto wrote: |
Am I a dimwit? |
This is a question we must all ask ourselves from time to time, and only our conscience can answer it.
If you mean "have I made a stupid mistake in the configuration" I'd:
- check that you've actually defined what you think you've defined (fingers are such tricky blighters)
- think about what that error means (with especial reference to what you've defined in terms of queues) _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
Gaya3 |
Posted: Mon Feb 11, 2008 4:44 am Post subject: Re: Tried |
|
|
 Jedi
Joined: 12 Sep 2006 Posts: 2493 Location: Boston, US
|
friedl.otto wrote: |
QM1 -> QM2 -> QM3
QM1:
Code: |
DEFINE QREMOTE('MYDEST') RQMNAME('QM3') RNAME('MYDEST')
DEFINE QREMOTE('QM3') RQMNAME('QM3') RNAME('') XMITQ('QM2')
DEFINE QLOCAL('QM2') USAGE (XMITQ)
DEFINE CHANNEL('QM1_TO_QM2') CHLTYPE(SDR) CONNAME('QM2Host(QM2Port)') XMITQ('QM2') |
QM2:
Code: |
DEFINE CHANNEL('QM1_TO_QM2') CHLTYPE(RCVR)
DEFINE CHANNEL('QM2_TO_QM3') CHLTYPE(SDR) CONNAME('QM3Host(QM3Port)') XMITQ('QM3')
DEFINE QLOCAL('QM3') USAGE (XMITQ) |
QM3:
Code: |
DEFINE CHANNEL('QM2_TO_QM3') CHLTYPE(RCVR)
DEFINE QLOCAL('MYDEST') |
I have entered the QM1 details, since I wanted to see how the message
would look on the XMITQ. I posted a message to 'MYDEST' and got this:
Code: |
2091 0x0000082b MQRC_XMIT_Q_TYPE_ERROR |
|
this code wont help you to pass the message to QM3,
Regards
Gayathri _________________ Regards
Gayathri
-----------------------------------------------
Do Something Before you Die |
|
Back to top |
|
 |
friedl.otto |
Posted: Mon Feb 11, 2008 4:46 am Post subject: Re: Tried |
|
|
Centurion
Joined: 06 Jul 2007 Posts: 116
|
Vitor wrote: |
check that you've actually defined what you think you've defined (fingers are such tricky blighters) |
Copied and pasted what is shown in my post.
Vitor wrote: |
think about what that error means (with especial reference to what you've defined in terms of queues) |
I have pondered the possibilities. And the best I could come up with (since
I never do evil stuff like this) is that QREMOTE('MYDEST') requires a
correctly configured XMITQ(<something>) attribute. _________________ Here's an idea - don't destroy semaphores unless you're certain of what you're doing! -- Vitor |
|
Back to top |
|
 |
Vitor |
Posted: Mon Feb 11, 2008 4:50 am Post subject: Re: Tried |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
friedl.otto wrote: |
And the best I could come up with (since
I never do evil stuff like this) is that QREMOTE('MYDEST') requires a
correctly configured XMITQ(<something>) attribute. |
Evil? You think this is evil? Try doing a hub-and-spoke without it, then you'll see evil!
And you could specify an XMITQ on the definition of MYDEST. I thought you were trying to investigate a more generic solution though; a multi-hop from QM1->QM3 which could be used generically by any remote queue. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
friedl.otto |
Posted: Mon Feb 11, 2008 5:11 am Post subject: Re: Tried |
|
|
Centurion
Joined: 06 Jul 2007 Posts: 116
|
Vitor wrote: |
Evil? You think this is evil? Try doing a hub-and-spoke without it, then you'll see evil! |
What is wrong with:
1. SRC System uses bindings connection to MQ_PUT with X/A sweetness.
2. Channel polls QREMOTE's XMITQ and transmits message.
3. HUB QMGR receives message and dumps to relevant QLOCAL.
4. Middleware uses bindings connection to MQ_GET with X/A sweetness.
5. Middleware adds value by doing routing and/or transformation.
6. Middleware uses bindings connection to MQ_PUT with X/A sweetness.
7. Channel polls QREMOTE's XMITQ and transmits message.
8. TGT QMGR receives message and dumps to relevant QLOCAL.
9. TGT System uses bindings connection to MQ_GET with X/A sweetness.
Why would you hard-wire source-routing?
Vitor wrote: |
And you could specify an XMITQ on the definition of MYDEST. I thought you were trying to investigate a more generic solution though; a multi-hop from QM1->QM3 which could be used generically by any remote queue. |
See that is the part I don't get ... this arcane Tarzan swinging business!
Please show me what QM1's config should look like, for me to see a
message on the XMITQ when the channel is stopped. _________________ Here's an idea - don't destroy semaphores unless you're certain of what you're doing! -- Vitor |
|
Back to top |
|
 |
Vitor |
Posted: Mon Feb 11, 2008 5:25 am Post subject: Re: Tried |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
friedl.otto wrote: |
What is wrong with:
...
|
Assumes the existence of middleware. Multi-hop can be achieved for only the cost of the WMQ licenses. As a side point, XA is redundant if you're only moving messages around; there's nothing external to coordinate with.
friedl.otto wrote: |
Why would you hard-wire source-routing? |
Because you've no middleware to handle the routing (see above).
And to pre-empt your next point, there are a lot of sites running this sort of configuration refuse to spend the money on either WMB or a home-grown solution. I offer this as an simple fact, without opinion on the wisdom of such a refusal.
The customer is always right, providing he pays the invoice.
friedl.otto wrote: |
See that is the part I don't get ... this arcane Tarzan swinging business! Please show me what QM1 should look like. |
It should look like you're trying to address the message to QM3. Look at the example in the Intercommunication manual.
You should also review http://www.mqseries.net/phpBB2/viewtopic.php?t=41723 _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
friedl.otto |
Posted: Mon Feb 11, 2008 5:57 am Post subject: Re: Tried |
|
|
Centurion
Joined: 06 Jul 2007 Posts: 116
|
Vitor wrote: |
Assumes the existence of middleware. Multi-hop can be achieved for only the cost of the WMQ licenses. As a side point, XA is redundant if you're only moving messages around; there's nothing external to coordinate with.
Because you've no middleware to handle the routing (see above). |
True, if you are simply putting messages because you can, then I guess
having transactionality is not something you're worried about.
Vitor wrote: |
And to pre-empt your next point, there are a lot of sites running this sort of configuration refuse to spend the money on either WMB or a home-grown solution. I offer this as an simple fact, without opinion on the wisdom of such a refusal. |
Then I will abstain from asking what the point of the hub is if it simply 'sits
there' and takes takes routing orders from everyone.
Vitor wrote: |
The customer is always right, providing he pays the invoice. |
You are to 'jaded', what Diablo is to 'naughty'.
Oh rub it in!  _________________ Here's an idea - don't destroy semaphores unless you're certain of what you're doing! -- Vitor |
|
Back to top |
|
 |
Vitor |
Posted: Mon Feb 11, 2008 6:10 am Post subject: Re: Tried |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
friedl.otto wrote: |
Then I will abstain from asking what the point of the hub is if it simply 'sits
there' and takes takes routing orders from everyone.
|
Despite your abstenance, I shall answer that it prevents the web of interconnected queue managers you'd get if there wasn't a hub. There's this nifty formular that proves if you've got n queue managers you need n squared -1 (or something) connections.
In these more enlightened days, you'd probably use a cluster, but if you have a small number of queue managers that can be overkill especially if the hardware is not what you'd call powerful.
friedl.otto wrote: |
Vitor wrote: |
The customer is always right, providing he pays the invoice. |
You are to 'jaded', what Diablo is to 'naughty'.  |
Is any part of that news?  _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
fjb_saper |
Posted: Mon Feb 11, 2008 3:53 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
The example was meant for a CLUSTER.
If you are not in a cluster you need to modify as follows
Code: |
DEFINE QREMOTE('MYDEST') RQMNAME('QM3') RNAME('MYDEST') XMITQ(QM2) |
Enjoy  _________________ MQ & Broker admin |
|
Back to top |
|
 |
|