| 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: 20768 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 | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | 
		    
		   |