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 » Environment tree removed with Timeout Control/Notification

Post new topic  Reply to topic Goto page 1, 2  Next
 Environment tree removed with Timeout Control/Notification « View previous topic :: View next topic » 
Author Message
happyj
PostPosted: Fri May 15, 2009 3:59 am    Post subject: Environment tree removed with Timeout Control/Notification Reply with quote

Voyager

Joined: 07 Feb 2005
Posts: 87

Hi there

We are testing for a WBIMB V5 migration to WMB V6.1.0.3
We have a MRM message that is being delayed using a timeout
control and timeout notification node. This is intended to replace a
custom java node that used Thread.sleep();

what we have noticed and traces show this is that the Environment
tree is being removed or reset after the message goes through
the timeout nodes. We are considering using the RFH2 header to hold the same information that is currently stored in the Environment tree.

Is this expected behaviour and if so are there any better ways to do this kind of thing ?
Back to top
View user's profile Send private message
Vitor
PostPosted: Fri May 15, 2009 4:10 am    Post subject: Re: Environment tree removed with Timeout Control/Notificati Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

happyj wrote:
are there any better ways to do this kind of thing ?


Why do you need to delay this message? How is the delay calculated?

(For example, delayed 15 mins because of an affinity problem, processed on the hour every hour to conform to an existing schedule, etc)
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
mqjeff
PostPosted: Fri May 15, 2009 4:15 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

http://www.ibm.com/developerworks/websphere/library/techarticles/0603_schutz/0603_schutz.html
Back to top
View user's profile Send private message
Vitor
PostPosted: Fri May 15, 2009 4:18 am    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

mqjeff wrote:
http://www.ibm.com/developerworks/websphere/library/techarticles/0603_schutz/0603_schutz.html


I should have this bookmarked; just spent a fruitless 10 mins Googling for it!
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
mqjeff
PostPosted: Fri May 15, 2009 4:23 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

Vitor wrote:
mqjeff wrote:
http://www.ibm.com/developerworks/websphere/library/techarticles/0603_schutz/0603_schutz.html


I should have this bookmarked; just spent a fruitless 10 mins Googling for it!


Don't make me send you back to the basement lab....
Back to top
View user's profile Send private message
Vitor
PostPosted: Fri May 15, 2009 4:39 am    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

mqjeff wrote:
Vitor wrote:
mqjeff wrote:
http://www.ibm.com/developerworks/websphere/library/techarticles/0603_schutz/0603_schutz.html


I should have this bookmarked; just spent a fruitless 10 mins Googling for it!


Don't make me send you back to the basement lab....


Sorry my master.....
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
happyj
PostPosted: Fri May 15, 2009 4:53 am    Post subject: Reply with quote

Voyager

Joined: 07 Feb 2005
Posts: 87

thanks very much for the link
I agree any kind of message delay is not an ideal design but this is what we have had to do in a functional 'like for like' upgrade.

in this instance it is used as part of an error handling routine where
a fixed delay is used before retrying a message.
Back to top
View user's profile Send private message
Vitor
PostPosted: Fri May 15, 2009 5:00 am    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

happyj wrote:
in this instance it is used as part of an error handling routine where
a fixed delay is used before retrying a message.


That seems fair enough. The link should give you all you need.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
happyj
PostPosted: Fri May 15, 2009 10:07 am    Post subject: Reply with quote

Voyager

Joined: 07 Feb 2005
Posts: 87

there is some great stuff in the article particularly around error handling
but I can't see an answer to my actual question.

Can anyone confirm that the Environment tree is lost when a message is delayed using a timeout control and notification pair ? Is this becuase the message is committed to the temporary broker queue?

Does this mean that another instance of the flow runs after the message is returned?

thanks again
Back to top
View user's profile Send private message
mqjeff
PostPosted: Fri May 15, 2009 10:18 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

Yes, the TimeoutNotification node is an input node just like any other input node, it starts an entirely new message flow invocation and the Environment tree is NOT shared between TimeoutControl and TimeoutNotification.

If you need to share data, put it in the message that goes to TimeoutControl. Should be some mention of this in Wayne's article.
Back to top
View user's profile Send private message
fschofer
PostPosted: Sat May 16, 2009 11:48 pm    Post subject: Reply with quote

Knight

Joined: 02 Jul 2001
Posts: 524
Location: Mainz, Germany

Hi

Quote:
We have a MRM message that is being delayed using a timeout
control and timeout notification node. This is intended to replace a
custom java node that used Thread.sleep();


Why not simply replace the custom java node with a JavaCompute node ?

Works fine for me.

Greetings
Frank
Back to top
View user's profile Send private message Send e-mail
happyj
PostPosted: Fri May 29, 2009 2:52 am    Post subject: Reply with quote

Voyager

Joined: 07 Feb 2005
Posts: 87

Thanks for confirming Jeff

Frank, as I understand it Thread.sleep() will sleep the entire process /
execution group rather than just the flow that you want to delay.

This could impact other message flows that are in the same group
and is something we wish to avoid.
Back to top
View user's profile Send private message
fschofer
PostPosted: Fri May 29, 2009 4:08 am    Post subject: Reply with quote

Knight

Joined: 02 Jul 2001
Posts: 524
Location: Mainz, Germany

Hi,

i did some testing on this (WMB 6, AIX) and other flows continued to work.

Greetings
Frank
Back to top
View user's profile Send private message Send e-mail
gs
PostPosted: Fri May 29, 2009 4:25 am    Post subject: Reply with quote

Master

Joined: 31 May 2007
Posts: 254
Location: Sweden

happyj wrote:
Frank, as I understand it Thread.sleep() will sleep the entire process /
execution group rather than just the flow that you want to delay.

This could impact other message flows that are in the same group
and is something we wish to avoid.


This is not necessarily true. Thread.sleep() will only let the thread sleep. Your execution group runs a number of threads limited in a thread pool. If pool usage is maximized, you will have a problem. Thus, if your execution group contains few and low-usage flows you'll generally be safe.

What I'm missing in the Programming patterns link is how to back out messages after a TimeoutNotification node since this isn't done automatically. How have you people dealt with this? We ended up doing a half-dirty solution connecting an MQoutput node & a throw node to the TimeoutNotification catch terminal and setting some parameters.
Back to top
View user's profile Send private message
mqjeff
PostPosted: Fri May 29, 2009 4:41 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

gs wrote:
What I'm missing in the Programming patterns link is how to back out messages after a TimeoutNotification node since this isn't done automatically


What do you expect it to back out?

The transaction that led to a TimeoutControl that led to the TimeoutNotification? Not likely.

The transaction that started when the TimeoutNotification node fired? Are you sure it doesn't?
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Goto page 1, 2  Next Page 1 of 2

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » Environment tree removed with Timeout Control/Notification
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.