Author |
Message
|
angka |
Posted: Thu Sep 03, 2009 7:09 pm Post subject: TimeoutNotification thread |
|
|
Chevalier
Joined: 20 Sep 2005 Posts: 406
|
Hi,
If i set the transaction mode to yes, operation mode to automatic and timeout interval to 3 seconds, what will happen if my flow take more than 3 seconds to process, e.g. exception handling? will the TimeoutNotification thread invoke another thread running concurrently after 3 seconds?
Thanks. |
|
Back to top |
|
 |
angka |
Posted: Sun Sep 06, 2009 8:00 pm Post subject: |
|
|
Chevalier
Joined: 20 Sep 2005 Posts: 406
|
Hi,
Anyone can help?
Thanks |
|
Back to top |
|
 |
smdavies99 |
Posted: Sun Sep 06, 2009 10:14 pm Post subject: |
|
|
 Jedi Council
Joined: 10 Feb 2003 Posts: 6076 Location: Somewhere over the Rainbow this side of Never-never land.
|
Have you tried it yourself? What were your results?
To really verify, put user trace on the flow and examine the output.
Make the timeout shorter for your tests so it is easier for the initial thread to timeout. _________________ WMQ User since 1999
MQSI/WBI/WMB/'Thingy' User since 2002
Linux user since 1995
Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions. |
|
Back to top |
|
 |
angka |
Posted: Sun Sep 06, 2009 11:43 pm Post subject: |
|
|
Chevalier
Joined: 20 Sep 2005 Posts: 406
|
Hi,
I tested out using trace node and writing it to queue and the message will not go out of sequence so i concluded that it will not invoke another thread. But it is not documentated anywhere.
below is how I had tested.
In my compute node(A) which is after the timeoutnotification node, i declared a handler to handle SQL connection error. if there is sql connection error, it propagates to a label node and then back to the compute node(A). it will keep retrying until the database connection is up. by then a few timeouts occur and now i fixed the database connection and the messages the flow created will put to the queue in sequence. i know it is in sequence because i used a shared variable and Begin atomic in my esql. each timeout will increment the shared variable by one and write to trace node and add to the message body. |
|
Back to top |
|
 |
WMBDEV1 |
Posted: Mon Sep 07, 2009 12:59 am Post subject: |
|
|
Sentinel
Joined: 05 Mar 2009 Posts: 888 Location: UK
|
angka wrote: |
below is how I had tested.
In my compute node(A) which is after the timeoutnotification node, i declared a handler to handle SQL connection error. if there is sql connection error, it propagates to a label node and then back to the compute node(A). it will keep retrying until the database connection is up. |
Does it not end up hammering the DB during this period and going nuts in your flow?
FYI, I think you can increase the instances of the flow to increase the amount of threads used by the timeout node (although I suspect this is not what you want but it does answer your original question)! |
|
Back to top |
|
 |
angka |
Posted: Mon Sep 07, 2009 1:42 am Post subject: |
|
|
Chevalier
Joined: 20 Sep 2005 Posts: 406
|
Hi,
No i tried using debug mode it will take a while before it knows it can't reach the DB. could be some connection interval. i am thinking of using java sleep to wait a while before polling DB again but think it is not recommended.
ya i know i can increase the thread but you are right tt is not what i want. but it is not documentated anywhere tt it will be one thread for each notification node.
Thanks. |
|
Back to top |
|
 |
AkankshA |
Posted: Mon Sep 07, 2009 2:51 am Post subject: |
|
|
 Grand Master
Joined: 12 Jan 2006 Posts: 1494 Location: Singapore
|
as far as i know
threads are maintained at flow level..
so if u increase additional instances of ur flow.. u ll see another instance coming up
BUT sequencing will not be maintained in that case _________________ Cheers |
|
Back to top |
|
 |
angka |
Posted: Mon Sep 07, 2009 9:32 pm Post subject: |
|
|
Chevalier
Joined: 20 Sep 2005 Posts: 406
|
|
Back to top |
|
 |
|