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 » Workflow Engines - IBM MQ Workflow & Business Process Choreographer » [SOLVED]UPES activity termination and multiple queues (compe

Post new topic  Reply to topic
 [SOLVED]UPES activity termination and multiple queues (compe « View previous topic :: View next topic » 
Author Message
manoj
PostPosted: Fri May 07, 2004 1:15 pm    Post subject: [SOLVED]UPES activity termination and multiple queues (compe Reply with quote

Master

Joined: 30 Jan 2002
Posts: 237
Location: Virgina

I am curious to know what people do in the following scenario. i am pretty sure different people will have different ideas.

When a UPES activity is terminated workflow puts a termination message in to the UPESQ. But if that UPESQ is on multiple servers (clustered env.) then it's quite possible that the application gets a chance to process the "Termination" message before processing the "Activity Impl Invoke" message.

Compensating a terminated activity is possible only if the above order was reverse.
_________________
-manoj


Last edited by manoj on Wed May 12, 2004 10:00 am; edited 1 time in total
Back to top
View user's profile Send private message Send e-mail Yahoo Messenger
jmac
PostPosted: Fri May 07, 2004 2:14 pm    Post subject: Reply with quote

Jedi Knight

Joined: 27 Jun 2001
Posts: 3081
Location: EmeriCon, LLC

What I have done is ignore these messages.

However, it would be possible to process them, but you would have to take care of correlating the incoming programTerminate or Expire message with the thread running the corresponding activityInvoke.
_________________
John McDonald
RETIRED
Back to top
View user's profile Send private message Send e-mail Visit poster's website AIM Address Yahoo Messenger MSN Messenger
manoj
PostPosted: Fri May 07, 2004 3:43 pm    Post subject: Reply with quote

Master

Joined: 30 Jan 2002
Posts: 237
Location: Virgina

John,
The problem i have is "program terminate" message coming first and "activity impl invoke" message second. this is possible when you have the UPES Queue defined on multiple mqservers.
Even if i try to correlate there will still be a timing issue.
Is it possible to use any MQseries or MQSI feature ?
Any thoughts ?

thanks
_________________
-manoj
Back to top
View user's profile Send private message Send e-mail Yahoo Messenger
jmac
PostPosted: Fri May 07, 2004 3:57 pm    Post subject: Reply with quote

Jedi Knight

Joined: 27 Jun 2001
Posts: 3081
Location: EmeriCon, LLC

manoj wrote:

Even if i try to correlate there will still be a timing issue.


How so... maybe I just don't understand. Which ever message comes in first does not matter, what matters is that they will both have the correlation ID... SO if the Program Terminate comes in first, you have some table (or some such method) that is keyed by the correlation ID and you indicate that you have received a Program Terminate, and you have your "invoke" action check the table prior to starting to see if the Terminate is there. Would that not solve the problem?
_________________
John McDonald
RETIRED
Back to top
View user's profile Send private message Send e-mail Visit poster's website AIM Address Yahoo Messenger MSN Messenger
manoj
PostPosted: Mon May 10, 2004 8:11 am    Post subject: Reply with quote

Master

Joined: 30 Jan 2002
Posts: 237
Location: Virgina

John, Storing the Correlation ID in a database and check for it before message processing will work but this is not 100% proof..

I have 4 machines for UPES processing with 50 application threads in each of these machines (50 * 4). Q1 is defined on all these 4 machines and the listener applications processing messages from Q1.

When the time difference between processing "Terminate" and "Invoke" is too small the application might not get a chance to compensate (this is very much true when you have a large throughput system/application).

The other thing to note that the "Invoke" message processing time may run in to a minute or so (at times). So checking the correlation ID at the start of processing "Invoke" message is not safe.

i couldn't find a standard way of doing this.
_________________
-manoj
Back to top
View user's profile Send private message Send e-mail Yahoo Messenger
jmac
PostPosted: Mon May 10, 2004 8:34 am    Post subject: Reply with quote

Jedi Knight

Joined: 27 Jun 2001
Posts: 3081
Location: EmeriCon, LLC

Manoj:

OK, now I get what you are saying.... If the terminate comes in too close to the invoke you might actually process the message before the terminate is seen. I really don't think there is a way around this situation. I guess you could create a model to deal with this, but I don't know what your process is doing.
_________________
John McDonald
RETIRED
Back to top
View user's profile Send private message Send e-mail Visit poster's website AIM Address Yahoo Messenger MSN Messenger
manoj
PostPosted: Wed May 12, 2004 9:57 am    Post subject: [SOLVED] Reply with quote

Master

Joined: 30 Jan 2002
Posts: 237
Location: Virgina

i guess i need to workout a model for this

thanks
_________________
-manoj
Back to top
View user's profile Send private message Send e-mail Yahoo Messenger
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » Workflow Engines - IBM MQ Workflow & Business Process Choreographer » [SOLVED]UPES activity termination and multiple queues (compe
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.