[JBoss jBPM] - signaling to a forked sibling
by gnagy
Hello,
We have a workflow where a number of observers need to observe a number of items. A possible dependency relationship is such:
Process
/ \
Observer1 Observer2
/ \ / \
Item1 Item2 Item3
An observer can only continue in the workflow if all observed items were "activated". So e.g. Observer1 can only continue after it gets a signal from both Item1 and Item2.
A possible chain of events after fork:
I1 activates, O1 notices, but does not continie (I2 not activated)
I2 activates, O1 notices, continues, O2 notices, but stays put
I3 activates, O2 notices, continues (I2 was activated)
We are trying to solve this as follows. O1,2 are state nodes, I1,2,3 are task nodes. The workflow branches to O + I branches:
|
.------ FORK ------.
| | | | |
O1 O2 I1 I2 I3
| | | | |
When any Item activates, it sends an event that Os can see, and the Os decide if they can continue.
I just don't really know how to implement this with jbpm, or if this is a good way the solve the problem.
Any help appreciated.
Thanks,
Greg
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4176207#4176207
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4176207
17 years, 6 months
[JBoss jBPM] - Re: Task timer and TaskInstance.dueDate field
by lblaauw
True,
I understand the current implementation but in my view functionally they
shouldnt be different things. I feel you need to be able to have them to
be the same thing i.e. when a task has a deadline(duedate) I would like
to have the process instance be able to do two optional things:
1. escalate via a transition to another step in the process whilst deleting
the original task
2. send an escalation message as a sort of notice therefore taking a transition out of the node but leaving the task sit where it is to just notify
someone the task is now overdue.
The above scenario seems pretty common in commercial tooling and I
am kinda strugling to fit this into jBPM I guess..
Greetz
Leo
"kukeltje" wrote : task due date and timer due date are 2 different things, even when used on a task. So therefor the task duedate is empty even though there can be a timer with a duedate. We cannot automatically fill it with the duedate of a timer since that can be a very different thing....
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4176069#4176069
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4176069
17 years, 6 months
[JBoss jBPM] - Swimlane assignment - h e l p m e !
by freejohn22
Hi all jbom users,
I'm developing a trouble ticketing interface with jBpm.
I have 2 swimlanes: the manager and the developer. I would need to assign the actorId of each task depending on the value of a Context variable.
I have saved in the context variable "manager" and "developer" the person who are in charge to supervision and develop the ticket.
<swimlane name="manager" >
| <assignment actor-id="#{manager}">
| </swimlane>
|
| <swimlane name="developer" />
| <assignment actor-id="#{developer}">
| </swimlane>
|
| <task-node name="AssignTicket">
|
| <task name="TicketAssignment" " swimlane="developer">
| </task>
| .........
| </task-node>
|
| <task-node name="TicketResolved">
|
| <task name="Ticketsolved" swimlane="manager">
| </task>
| .........
| </task-node>
Unfortunately I get "null" when I recall taskInstance.getActorId()
so assignment doesn't work this way......
any help ?
thanks
john
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4176067#4176067
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4176067
17 years, 6 months
[JBoss jBPM] - Re: Consuming webservice in jBPM JPDL (Eclipse)
by chrlyck
Thanks again, i think we are getting somewhere... :)
OK, here goes. I have tried two methods. As mentioned i deploy using JPDL so i don't really know what my .par is named and what happens to it, but it shouldn't matter...
?.par
-first.xhtml
-forms.xml
-gpd.xml
-processdefinition.xml
-processimage.xml
-clh.java (package)
--calc.java
-org.me.calculator (package)
--Add.java
--AddResponse.java
--CalculatorWS.java
--CalculatorWSService.java
--MessageActionHandler.java
--ObjectFactory.java
--package-info.java
I built a jax.war (zipped the mentioned files below and renamed to war). Then put it in the "jbpm-jpdl-3.2.3\deploy" dir.
deploy
-jax.war
--activation.jar
--jaxb1-impl.jar
--jaxb-api.jar
--jaxb-impl.jar
--jax-xjc.jar
--jboss-jaxws.jar
--jse173_1.0_api.jar
This results in the err
anonymous wrote : Cannot load service endpoint interface: org.me.calculator.CalculatorWS
Right after "Debug:2". This is printed in the web-server but the webinterface returns
anonymous wrote : Information
| Variables updated
| Task completed
So i think this is close...
If i remove my .war file i get the exact same result so you must be right is a classloader issue...
Looking for the right solution since i don't know if i did my .war correctly i have tried putting all the JAR-files in the classpath (edited the run.bat so it imports them)
So my startup of the jboss server says:
anonymous wrote : ===============================================================================
|
| JBoss Bootstrap Environment
|
| JBOSS_HOME: C:\Program Files\jBPM\jbpm-jpdl-3.2.3\server
|
| JAVA: C:\Program Files\Java\jdk1.5.0_16\bin\java
|
| JAVA_OPTS: -Dprogram.name=run.bat -server -Xms128m -Xmx512m -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.g
| cInterval=3600000
|
| CLASSPATH: C:\Program Files\jBPM\jbpm-jpdl-3.2.3\server\CP\activation.jar;C:\Program Files\jBPM\jbpm-jpdl-3.2.3\server\CP\j
| axb1-impl.jar;C:\Program Files\jBPM\jbpm-jpdl-3.2.3\server\CP\jaxb-api.jar;C:\Program Files\jBPM\jbpm-jpdl-3.2.3\server\CP\ja
| xb-impl.jar;C:\Program Files\jBPM\jbpm-jpdl-3.2.3\server\CP\jaxb-xjc.jar;C:\Program Files\jBPM\jbpm-jpdl-3.2.3\server\CP\jbos
| s-jaxws.jar;C:\Program Files\jBPM\jbpm-jpdl-3.2.3\server\CP\jsr173_1.0_api.jar;C:\Program Files\Java\jdk1.5.0_16\lib\tools.ja
| r;C:\Program Files\jBPM\jbpm-jpdl-3.2.3\server\bin\run.jar
|
| ===============================================================================
This returns an error in the webinterface:
anonymous wrote : description The server encountered an internal error () that prevented it from fulfilling this request.
|
| exception
|
| javax.servlet.ServletException: Servlet execution threw an exception
| org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
|
|
| root cause
|
| java.lang.NoClassDefFoundError: javax/xml/soap/FactoryLoader
| javax.xml.ws.spi.Provider.provider(Provider.java:91)
| javax.xml.ws.Service.(Service.java:83)
| org.me.calculator.CalculatorWSService.(CalculatorWSService.java:47)
| clh.java.calc.execute(calc.java:22)
So with the first example i get to line 24 of my code (Debug:2) in the 2nd i get to line 22 which is where i create the service... See below:
log.info("##############################");
| log.info("Debug:1");
| CalculatorWSService service = new CalculatorWSService(); //line 22
| log.info("Debug:2");
| CalculatorWS port = service.getCalculatorWSPort(); //line 24
| log.info("Debug:3");
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4176062#4176062
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4176062
17 years, 6 months