Author |
Message
|
kotha |
Posted: Wed Dec 06, 2006 12:24 pm Post subject: Automatically killing Human activity[SOLVED] |
|
|
Partisan
Joined: 12 Mar 2005 Posts: 333
|
A strange requirement from this client!!!.
I have a flow with a human activity. If this human activity is not finished in a specific period of time, the human activity has to be killed automatically and continue another path to excute another set of activities.
For that, I am planning to have to parellel activities, one is human activity and the other is wait activity to wait for a specific time and excute the next activity. BUT what happens when the human activity finishes before the specific time. How can I cancel the other path?
How can we make the process to automatically know about the state of the human activity. We are not planning to use any MQ messaging here.
Any idea?
Last edited by kotha on Thu Dec 07, 2006 6:48 am; edited 1 time in total |
|
Back to top |
|
 |
jmac |
Posted: Wed Dec 06, 2006 3:08 pm Post subject: |
|
|
 Jedi Knight
Joined: 27 Jun 2001 Posts: 3081 Location: EmeriCon, LLC
|
First are we talking WPS or MQWF? Based on your terminology I am assuming WPS.
Is there any reason why you can't simply use an expiration on the Human Activity to accomplish what you want to do? _________________ John McDonald
RETIRED |
|
Back to top |
|
 |
kotha |
Posted: Wed Dec 06, 2006 7:33 pm Post subject: |
|
|
Partisan
Joined: 12 Mar 2005 Posts: 333
|
Jhon, you are always helpful. Thank you.
I am talking about WPS!!!. BUT MQWF and WPS serve the same purpose so I posed the question in MQWF way.
I am not sure wether we can implement expiration on human activity in WPS. I will check that out.
any idea about this issue from WPS perspective? |
|
Back to top |
|
 |
kotha |
Posted: Wed Dec 06, 2006 7:47 pm Post subject: |
|
|
Partisan
Joined: 12 Mar 2005 Posts: 333
|
I see some properties about expiration in human activity editor. I will explore more and let you know. |
|
Back to top |
|
 |
kotha |
Posted: Wed Dec 06, 2006 8:06 pm Post subject: |
|
|
Partisan
Joined: 12 Mar 2005 Posts: 333
|
Solved. I tested the expiration property in WPS. it worked well.
Thank you John. |
|
Back to top |
|
 |
jmac |
Posted: Thu Dec 07, 2006 6:25 am Post subject: |
|
|
 Jedi Knight
Joined: 27 Jun 2001 Posts: 3081 Location: EmeriCon, LLC
|
Kotha:
Expiration in WPS is the same basic principle as in MQWF, the only thing missing is the _STATE() function for a transition condition, but of course you can simulate that if you need it. _________________ John McDonald
RETIRED |
|
Back to top |
|
 |
kotha |
Posted: Thu Dec 07, 2006 6:41 am Post subject: |
|
|
Partisan
Joined: 12 Mar 2005 Posts: 333
|
John,
Are you working with WPS/WID or still with MQWF? |
|
Back to top |
|
 |
jmac |
Posted: Thu Dec 07, 2006 6:46 am Post subject: |
|
|
 Jedi Knight
Joined: 27 Jun 2001 Posts: 3081 Location: EmeriCon, LLC
|
Both _________________ John McDonald
RETIRED |
|
Back to top |
|
 |
kotha |
Posted: Thu Dec 07, 2006 9:32 am Post subject: |
|
|
Partisan
Joined: 12 Mar 2005 Posts: 333
|
Another issue. In my process, I hava a invoke activity that calls a human activity. this human activity set to expire in 2 minutes. After it expries it should continue execute the next activities in the process. BUT after it expires, it is throwing the following error and is not continuing to the next activity. It is continuing when the human activity is not expired (finished state).
Errors from Console:
*************************************************************
[12/7/06 12:25:20:953 EST] 00000094 LocalTranCoor E WLTC0017E: Resources rolled back due to setRollbackOnly() being called.
[12/7/06 12:25:20:969 EST] 00000094 BpelEngine I
CWWBE0071E: A two-way request for port type 'SelectInterface' and operation 'SelectOp1' was accepted by activity 'Receive'. The process ended before a corresponding reply activity was executed.com.ibm.bpe.api.RuntimeFaultException: CWWBE0003E: An error occurred during the invocation of the activity implementation 'Invoke1'. com.ibm.bpe.api.StandardFaultException: CWWBE0071E: A two-way request for port type 'SelectInterface' and operation 'SelectOp1' was accepted by activity 'Receive'. The process ended before a corresponding reply activity was executed. com.ibm.bpe.api.StandardFaultException: Engine.Timeout
[12/7/06 12:25:20:984 EST] 00000094 BpelEngine I CWWBE0071E: A two-way request for port type 'SelectInterface' and operation 'SelectOp1' was accepted by activity 'Receive'. The process ended before a corresponding reply activity was executed.
CWWBE0003E: An error occurred during the invocation of the activity implementation 'Invoke1'.
CWWBE0071E: A two-way request for port type 'SelectInterface' and operation 'SelectOp1' was accepted by activity 'Receive'. The process ended before a corresponding reply activity was executed.
Engine.Timeout
*************************************************************
How can I make the process to continue after a human activity expires?
Or Is there any other way to implement this? |
|
Back to top |
|
 |
jmac |
Posted: Thu Dec 07, 2006 9:38 am Post subject: |
|
|
 Jedi Knight
Joined: 27 Jun 2001 Posts: 3081 Location: EmeriCon, LLC
|
I am unsure as to how your implementation is being done.
Remember I am very new to this WPS, so any answers you get from me should be interpreted as coming from someone who may not have a correct understanding of WPS.
So.... What I don't get in your implementation is why you have an Invoke calling a Human Task, why not just have the Human Task inline?
Can you explain why you are not just using inline Human Task?
Thanks _________________ John McDonald
RETIRED |
|
Back to top |
|
 |
kotha |
Posted: Thu Dec 07, 2006 9:47 am Post subject: |
|
|
Partisan
Joined: 12 Mar 2005 Posts: 333
|
Just like that. Both serve same purpose. Implementing expiriation property is easier when you have a separate human task. otherwise you need to write java code.
I think even in MQWF, the same thing happens (When a manual task expires, the total flow stops. ) |
|
Back to top |
|
 |
jmac |
Posted: Thu Dec 07, 2006 9:57 am Post subject: |
|
|
 Jedi Knight
Joined: 27 Jun 2001 Posts: 3081 Location: EmeriCon, LLC
|
Definitely Not true in MQWF, navigation will continue
I have been told to avoid the external Human Task due to difficulties in relating it back to the owning Process Instance. So I have NO experience with them, but I am pretty certain (90%) that what you want to do is doable with WPS. A quick look tells me it might not be easy, but I should be able to have an Inline human task inside a scope which has a fault handler that catches the timeout, or something like that _________________ John McDonald
RETIRED |
|
Back to top |
|
 |
kotha |
Posted: Thu Dec 07, 2006 10:01 am Post subject: |
|
|
Partisan
Joined: 12 Mar 2005 Posts: 333
|
Ya. I think the scope activity can do the trick here. Let me check that one too. Fault handling can also help in this situation.
Thanks john. |
|
Back to top |
|
 |
kotha |
Posted: Thu Dec 07, 2006 1:20 pm Post subject: |
|
|
Partisan
Joined: 12 Mar 2005 Posts: 333
|
Fault Handler and scope is the trick here. I implemented the fault handler to the invoke and it worked as expected. The problem is solved.
Thanks John. |
|
Back to top |
|
 |
|