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 » WebSphere Message Broker (ACE) Support » Can I determine MQInput-queue-name in ESQL of the Subflow?

Post new topic  Reply to topic
 Can I determine MQInput-queue-name in ESQL of the Subflow? « View previous topic :: View next topic » 
Author Message
mark.luebinski
PostPosted: Mon Jan 29, 2007 1:53 am    Post subject: Can I determine MQInput-queue-name in ESQL of the Subflow? Reply with quote

Acolyte

Joined: 27 Mar 2006
Posts: 56

Dear Masters,

I like to make very simple error-handling for Db-flows. If I get DB-Exception, the message must wait some seconds and then I like to retry.

So, with Timecontrolled-Node I can make this delay. But I like also dynamicly determine in which queue I have to write the message back (yes, sure, I increase one special counter in Environment first to avoid deadlocks).

I can make this with external Variable of the BAR, but much better would be, if I could put in the OutputLocalEnvironment.Destination of my error-handling-Subflow the real Input-Queue of the main flow.

Thank you very much!!

Mark
Back to top
View user's profile Send private message
elvis_gn
PostPosted: Mon Jan 29, 2007 1:57 am    Post subject: Reply with quote

Padawan

Joined: 08 Oct 2004
Posts: 1905
Location: Dubai

Hi mark.luebinski,

You would get the queue name in the message headers itself...won't you ?

List of accessable properties:
http://publib.boulder.ibm.com/infocenter/wmbhelp/v6r0m0/index.jsp?topic=/com.ibm.etools.mft.doc/ak04897_.htm

Regards.
Back to top
View user's profile Send private message Send e-mail
mark.luebinski
PostPosted: Mon Jan 29, 2007 2:05 am    Post subject: Reply with quote

Acolyte

Joined: 27 Mar 2006
Posts: 56

Hi elvis_gn,

thank you for the light-speed answer.

I this list I don't see anything about message headers. But I tried with

SET OutputLocalEnvironment.Destination = InputRoot.MQMD.SourceQueue;

but this field is empty.

Do you maybe have another idea about InputRoot.MQMD... or other Field?

Thank you very much!

Mark
Back to top
View user's profile Send private message
elvis_gn
PostPosted: Mon Jan 29, 2007 2:11 am    Post subject: Reply with quote

Padawan

Joined: 08 Oct 2004
Posts: 1905
Location: Dubai

Hi mark.luebinski,
mark.luebinski wrote:
I this list I don't see anything about message headers. But I tried with

SET OutputLocalEnvironment.Destination = InputRoot.MQMD.SourceQueue;

but this field is empty.
The property of queue name is not in the list, that was just for your reference.

The queue name should have been in the MQMD...put a trace or debug and check if the queue name was populated in the header...you will need to store it into the Environment, right after the Input node...perhaps down the flow the name is getting lost...

Regards.
Back to top
View user's profile Send private message Send e-mail
mark.luebinski
PostPosted: Mon Jan 29, 2007 2:37 am    Post subject: Reply with quote

Acolyte

Joined: 27 Mar 2006
Posts: 56

Hi elvis_gn,

you are right, the InputRoot.MQMD.SourceQueue get lost between TimeOutControl and TimeOutNotification!!! Can I avoid this?!

But the problem itself is solved, I would save the stuff in Environment before of TimeOutControl!

Thank you very much!

Mark
Back to top
View user's profile Send private message
mark.luebinski
PostPosted: Mon Jan 29, 2007 4:04 am    Post subject: Reply with quote

Acolyte

Joined: 27 Mar 2006
Posts: 56

Hi elvis_gn,

not only MQMD.SourceQueue, but also Envoronment, OutputLocalEnvironment (most of fields, all except of special OutputLocalEnvironment.TimeoutRequest - field) is lost between TimeOutControl and TimeOutNotification!

I will try InputRoot.MQRFH2, but maybe you know the better possibility to save data in any Environment?!

Thank you!

Mark
Back to top
View user's profile Send private message
elvis_gn
PostPosted: Mon Jan 29, 2007 4:26 am    Post subject: Reply with quote

Padawan

Joined: 08 Oct 2004
Posts: 1905
Location: Dubai

Hi mark.luebinski,

I dont think MQRFH2 will also help...

I hope you have the timer nodes in the same flow...use a shared variable or so to store the queue name...

But all said and done, from your first post, I don't actually like the idea of you putting the message back onto the input queue when the DB is down...Feels like the flow will keep looping...

Regards.
Back to top
View user's profile Send private message Send e-mail
mark.luebinski
PostPosted: Mon Jan 29, 2007 6:33 am    Post subject: Reply with quote

Acolyte

Joined: 27 Mar 2006
Posts: 56

Hi elvis_gn,

shared Variable is too risky, because many flows could use diferent instance of this subflow with different timeouts.

Loop is not possible, because i try only twice (we have 2 DBMS) and if my counter is 2 i Throw an exception, so that the message come in Error-queue.

But neithermore, thank you very much.

Mark
Back to top
View user's profile Send private message
jefflowrey
PostPosted: Mon Jan 29, 2007 7:00 am    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

Normally, people use backout processing to handle this for them.

But if you want to wait a minute, for example, before backing out, then you do need to use Timeout nodes.
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
AkankshA
PostPosted: Mon Jan 29, 2007 7:21 am    Post subject: Reply with quote

Grand Master

Joined: 12 Jan 2006
Posts: 1494
Location: Singapore

You can use MQRFH2 header to transmit info across time out nodes...

u can use the psc folder or can even create a folder of your own in side MQRFH2 header.
Back to top
View user's profile Send private message Visit poster's website
mark.luebinski
PostPosted: Mon Jan 29, 2007 9:18 am    Post subject: Reply with quote

Acolyte

Joined: 27 Mar 2006
Posts: 56

@Akanksha - Thank you, MQRFH2 was the single thing, that works stable. But I'm wondering about lost of some MQMD-Properties and (Local)Environment between nessesary nodes

@jeff - YES! But our admins don't like red points in Windows Event list! Funny - but it is so, we use backout for all other stuff - and here after third try.
Back to top
View user's profile Send private message
AkankshA
PostPosted: Mon Jan 29, 2007 9:36 am    Post subject: Reply with quote

Grand Master

Joined: 12 Jan 2006
Posts: 1494
Location: Singapore

as i said create a folder in MQRFH2 header and store all the elements you require in that....

some properties in MQMD will get change as TimeOut nodes put the msgs in broker queue SYSTEM.BROKER.TIMEOUT.QUEUE....

so u need to make your design accordingly

good luck
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 » WebSphere Message Broker (ACE) Support » Can I determine MQInput-queue-name in ESQL of the Subflow?
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.