[jBPM Users] - Advice regarding complex proccess modeling
by fabiomsouto
Hello,
I've pointed out already some questions a few days ago, but our team decided to take it back to the drawing board, because we're a bit confused, so we were wondering if anyone more experienced could help.
We are currently trying to implement a document authorization and reviewing system, using jBPM. We are having some trouble defining the flow however.
What seems difficult to us is how to:
- Control the flow of the document through the organization. The document is read, forwarded to one or several people, then some of those people can forward the document too for further reading and commenting. We're having some trouble defining this flow.
- The document can be read by several people at the same time or an order can be defined, meaning that from a group of 3 people, for example, (X, Y and Z), only Y can read the document after X and Z can read after Y. How can we define this flow as well?
The main problem is that we can't tell in advance what people will be treating the document and if they will be doing it on a sequential or parallel way. what we now are the activities we want to perform on the document and in which sequence they occur.
Modeling all the different routes a document may take, combining all the activities we want to perform, doesn't seem like a good approach to the problem. This would result in a huge process definition or many process definitions creating a maintenance and usability problem.
Is there a design pattern to help solve this situation? Could someone more experienced give us some hints?
Thank you very much.
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4264276#4264276
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4264276
16 years, 5 months
[jBPM Users] - Re: EventListener questions
by sebastian.s
I just tried it. I put a breakpoint and used the HSQL's DatabaseManager to have a look at the database. There is no task persisted yet.
However I could not find a statement "INSERT INTO .. " for the task table in the Hibernate debug output before my query for the task. I put an additional breakpoint after the EventListener's notify()-method is completed and then the task is found in the database.
So it seems that when the EventListener is notified of the activity's start the task has not been created yet although the activity is already the active one in the execution.
Hibernate queries are hard to log in a readable way. I can still post them but if you need them you could easily reproduce them with the supplied unit test.
I've got 2 questions in mind:
How can I achieve the thing I'm aiming for? Should I change to the activity's end event? But then I would need to use a custom Hibernate Query since I have no criteria to be used for the HistoryTaskQuery.
And is this a bug or just a specific behaviour of jBPM? An unwanted or wanted one? If this is unwanted and the task should to be found already in the task could this behaviour be changed?
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4264275#4264275
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4264275
16 years, 5 months
[jBPM Users] - Re: JobScheduler going crazy - ignoring wait
by rachel.primrose
Ok - so now I'm wondering if I need to report it or if it should be more of an administration and monitoring hassle.
Here's how to re-create it - if you think I should do a full report with code I will, otherwise perhaps someone can suggest a good administration strategy for this other than the most horrible "do a select every now and again to check".
So, here's the JPDL file:
| <process name="Dummy" xmlns="http://jbpm.org/4.0/jpdl">
| <start name="a">
| <transition to="b"/>
| </start>
| <state name="b">
| <on event="timeout">
| <timer duedate="10 seconds"/>
| <event-listener class="rachels.test.actionClasses.Sleep">
| </event-listener>
| </on>
| <transition to="c" name="toc">
| </transition>
| </state>
| <end name="c"/>
| </process>
|
The sleep class simply sleeps for 30s.
So, if you start a process instance of Dummy, after 10 seconds the Sleep class will do its thing.
If you kill the jvm mid-sleep, the job has already been acquired, but hasn't completed.
So, something was fixed in the code in 4.1 so now the job scheduler isn't going crazy which is nice.
BUT - this job is sitting there acquired and not necessarily completed in the DB.
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4264239#4264239
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4264239
16 years, 5 months