[jboss-user] [jBPM Users] - Re: jBPM 3.2.6.SP1 enterprise environments question
We are using a jboss interceptor for this. View the original post : http://www.jboss.org/index.html?module=bbop=viewtopicp=4265793#4265793 Reply to the post : http://www.jboss.org/index.html?module=bbop=postingmode=replyp=4265793 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss jBPM] - Re: Large Jbpm Variables Slow System Down
You can create your custom variable instance. - the getObject() can return a lazy object (not filled in) - once you touch this you do the bulk of work. View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=4202869#4202869 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=4202869 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss jBPM] - Re: ProcessInstance ending changed
Indeed, But this keeps the 'child-token' alive. Since we 'play' we child-tokens (like dynamically adding and removing them ;-)), this is something we don't want. However a valid solution for my issue is probably - first end the sub process - afterwards end the 'child-token' So calling an end myself from bottom (sub process in this case) to top (child token in this case). This is some extra work but will due. Thx, Olivier. View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=4201639#4201639 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=4201639 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss jBPM] - Re: ProcessInstance ending changed
Here is a unit test. When aborting a child token, the child token is triggered to go to the next node (task node). So we create an additional task instance. Something we certainly don't want when aborting the token. public class AbortTokenTest { | | public static final String MAIN_PROCESS = | process-definition name='MainProcess' + | start-state + | transition to='fork' / + | /start-state + | fork name='fork' + | transition name='transition1' to='subProcess1' / + | transition name='transition2' to='subProcess2' / + | /fork + | process-state name='subProcess1' + | sub-process name='SubProcess'/ + | transition to='taskNode1' / + | /process-state + | task-node name='taskNode1' + | task name='generic' / + | transition to='join' / + | /task-node + | process-state name='subProcess2' + | sub-process name='SubProcess'/ + | transition to='taskNode2' / + | task-node name='taskNode2' + | task name='generic' / + | transition to='join' / + | /task-node + | /process-state + | join name='join' lock='UPGRADE' + | transition to='end' / + | /join + | end-state name='end' / + | /process-definition; | | /** | * Process definition with single root token and task node. | */ | public static final String SUB_PROCESS = | process-definition name='SubProcess' + | start-state + | transition to='taskNode' / + | /start-state + | task-node name='taskNode' + | task name='generic' / + | transition to='end' / + | /task-node + | end-state name='end' / + | /process-definition; | | private JbpmContext jbpmContext; | | @Before | public void initialize() { | jbpmContext = JbpmConfiguration.getInstance().createJbpmContext(); | | // Deploy sub process and main process | jbpmContext.deployProcessDefinition(ProcessDefinition.parseXmlString(SUB_PROCESS)); | jbpmContext.deployProcessDefinition(ProcessDefinition.parseXmlString(MAIN_PROCESS)); | } | | @After | public void uninitialize() { | jbpmContext.close(); | } | | @Test | public void cancelToken() { | ProcessInstance processInstance = jbpmContext.newProcessInstance(MainProcess); | processInstance.signal(); | assertNull(processInstance.getTaskMgmtInstance().getTaskInstances()); | | // Abort one of the child token's | processInstance.getRootToken().getChild(transition1).end(false); | | // Unit test fails - a task instance is created in the main process | // This because the child token is signalled and is in taskNode1 now... | assertNull(processInstance.getTaskMgmtInstance().getTaskInstances()); | } | } View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=4201344#4201344 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=4201344 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss jBPM] - Re: ProcessInstance ending changed
anonymous wrote : ahh... ok it is signalling 'downwards' not upwards which you want not to happen if I interpret this correctly. No, it's the upwards signalling I want to prevent. Sub process instances when canceled, signal their superProcessToken anonymous wrote : If we cancel a childtoken on the main process, it (the childtoken) should stop but te subprocess should continue No, the sub process should stop immediately. And not trigger the continuation of its parent token as is happening right now. View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=4200911#4200911 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=4200911 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss jBPM] - Re: ProcessInstance ending changed
You missed something ;-) I was talking about ProcessInstance#end(boolean reactivateSuper) which is no longer there... Token#end(boolean verifyParentTermination) used this method before... View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=4200520#4200520 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=4200520 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss jBPM] - Re: ProcessInstance ending changed
Indeed it has to do with the subprocess which signals the parent process in the current implementation, and did not do that in the previous implementation. In our case we have a process with a root token and some child tokens. The child tokens have a sub process. When ending a child token, it should stop directly. Now when we call childToken#end(false), subProcessInstance#end() will be called. This will reactivate the super token which we don't want. Before childToken#end(false), called subProcessInstance#end(false) which did not reactivate the super token... View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=4200526#4200526 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=4200526 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss jBPM] - Re: jBPM 3.3.0GA and Oracle causing StaleObjectStateExceptio
Digged into it a bit further. Seems to me that there are cases for which FORCE lock will never work. Let me try to explain: If you have a process with a fork join where the parallel branches contain a node which performs a query. If you can run from start to the join in the same transaction you get into trouble with the FORCE lock. What happens is: - Main token gets created and persisted - version is 0 - Fork join is triggered, 2 child tokens are created. - when query is performed in a node in one of the branches, an auto flush is done. This will increment the version of the parent lock to 1, since this one changed since the beginning of the process (some dates are filled in,...) - When you arrive in the fork, the lock will try to increase the version to 1, which fails since it is already 1. So my problem was not related to any bug in oracle but just due to the default locking and the fact that in my unit test I run through the complete process in one transaction. In these cases you need to set lock to upgrade. In other cases you can leave the default locking (force lock). View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=4200278#4200278 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=4200278 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss jBPM] - ProcessInstance ending changed
I am updating from an older version (3.1.4) to the latest jbpm version (3.3.0.GA). I saw that the method end(boolean reativeSuper) was removed. This is breaking some of our unit tests. We have scenario's where we want to stop child tokens of a process instance without activating the parent. This means really aborting the process instance and not continuing any more. Before when calling token.end(false), this would call processInstance.end(false), which would not reactivate the parent token. Now this reactivates the parent token, so the parent process instance continues. What was the reason behind this breaking change? View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=4200334#4200334 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=4200334 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss jBPM] - Re: jBPM 3.3.0GA and Oracle causing StaleObjectStateExceptio
I stumbled into the same problem (and some others) while trying to upgrade. Does this mean that when upgrading to the 3.3 version of jbpm, all process definition with joins need to be changed (lockmode upgrade needs to be added). By default lockmode seems to be 'force' which gives problems with versioned items... View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=4200108#4200108 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=4200108 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss jBPM] - Re: Storing process instance creator
There are other options. You can f.e. create a separate table for requester's and link it to process instances. requester table is then a link table between process instances and your (or the jbpm's) identity tables. View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=4196783#4196783 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=4196783 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss jBPM] - Re: Storing process instance creator
No, requester is part of the workflow tables. These contain jbpm and some extra tables. View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=4196829#4196829 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=4196829 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss jBPM] - Re: Duplication of processDefinition
You could start extending the previous process definition from its processdefinition.xml. This one is saved in the database (besides gpd.xml en process image). Can be retrieve using FileDefinition. So when extending a process definition you can retrieve its xml and start from there. Make sure you first rename the process definition. Hope this helps, Olivier. View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=4159474#4159474 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=4159474 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss jBPM] - Re: Duplication of processDefinition
Just another thought in your case: Maybe you could use serialization to do the cloning? View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=4159489#4159489 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=4159489 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss jBPM] - Re: Duplication of processDefinition
Isn't there a possibility to remove hibernate link before serializing? I'm sure there is (evicting...) BTW: If you go for this solution (serialization) keep in mind the disadvantages: http://weblogs.java.net/blog/emcmanus/archive/2007/04/cloning_java_ob.html View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=4159556#4159556 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=4159556 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss jBPM] - Re: A question to the DecisionNode
Well, The reason why it doesn't work is because when you don't add the condition part in your second transition, you end up with a decision node which only contains a single DecisionCondition. When you look into the code of the decision node (the execute method), you will see it loops over all DecisionConditions (in your case only 1!), and checks if it can find one which is true: Iterator iter = decisionConditions.iterator(); | while (iter.hasNext() (transition==null)) { | DecisionCondition decisionCondition = (DecisionCondition) iter.next(); | Object result = JbpmExpressionEvaluator.evaluate(decisionCondition.getExpression(), executionContext); | if (Boolean.TRUE.equals(result)) { | if (transition!=null) { | transition.removeConditionEnforcement(); | } | String transitionName = decisionCondition.getTransitionName(); | transition = getLeavingTransition(transitionName); | } | } | Since this condition fails, it will take the default leaving transition (the first transition. if (transition==null) { | transition = getDefaultLeavingTransition(); | log.debug(decision didn't select transition, taking default +transition); | } | What you can do to go around this behaviour: - Make a condition for your second one which is always true (like you did before but you can also use dummy expression's like 1==1). - Move your second condition first, and make sure it always fails (by placing and EMPTY conditiion f.e. ), when all other condition's fail, the default leaving transition will be choosen, and guess this will be the first one, the one with the empty condition element. I would choose the second option. Cheers, Olivier. View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=4156928#4156928 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=4156928 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss jBPM] - Re: How to indentify a StartState node?
Start node is a Start State. However when using hibernate you probably got a proxy (because hibernate does lazy loading). This proxy is not aware of the original hierarchy and is not an instanceof Start state. Also see: http://www.jboss.com/index.html?module=bbop=viewtopict=94900 View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=4156252#4156252 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=4156252 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss jBPM] - Re: taskInstance.cancel() still fires events
We extended taskInstance with an abort(), which does the same as cancel() but doesn't fire events and doesn't signal the token. We use this in a number of use cases. For example we have situations where user want to merge two task instance in different process instances. The use initially thought he would do the job in two separate tasks, but decides afterwards to do it in a single one. In this case we want to abort the second process instance and all task instances it contains. View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=4142269#4142269 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=4142269 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss jBPM] - Re: taskInstance.cancel() still fires events
Our custom task instance subclasses the jbpm task instance, we also provide a custom hibernate mapping (again extending the one of jbpm). We created a custom TaskInstanceFactory (which creates our custom task instance) and made sure jbpm is using this one. You can set override this setting in jbpm.cfg.xml. | bean name=jbpm.task.instance.factory class=???.task.factory.CustomTaskInstanceFactory singleton=true / | This is also described somewhere in the jbpm documentation. View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=4142278#4142278 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=4142278 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss jBPM] - Re: taskInstance.cancel() still fires events
Depends what you want. In your case task-end event will not get fired, but the task instance will end and process instance will continue (token will signal). The task-end event will never fire again (since task instance was already added), so adding it again is not needed. If you want your process instance to continue and if you want your task instance to complete, but without events, then this is ok. If you want your process instance to 'abort', and your task instance to 'abort' where you can make a distinction between completed task instances and aborted ones, then this is not ok. View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=4142319#4142319 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=4142319 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss jBPM] - Re: Re-routing Tokens
We also use re-routing in our workflows: * Firstly we use it when we want to split/merge tokens. The idea here is that we can gradually move in a process instance from a situation where we have: - a single token with a reference to a collection of domain objects - as much tokens as we have domain objects. For example a single report can be made about several domain cases, or the user can opt to split it and make different reports for domain cases which belong together. The user can also opt to merge other domain cases into the current token. Splitting actually creates new subtokens, merging adds domain cases to the current token and can remove other process instances which were created. When a user decides to merge a re-route can happen to a certain node in the workflow (is configurable in custom addition in jbpm designer). Re-routing is done by calling node.leave() * Secondly we allow the user to reopen task instances under certain circumstances. For example when having a process with 2 task nodes, making of a report followed by approving the report, and the user has complete the making of a report task but realized he forgot something, he can reopen this task. In that case the approving of the report task will be removed and the token will be re-routed. This is actually your case. * Thirdly when a user did some changes in a process instance with a start task but wants to undo those changes (and he triggered the creation of the process instance), this process instance and task will be removed. This is not re-routing but simply removing task and processes. For removing processes and task instances we just make sure they don't appear in the client task lists any more. - We created methods to end processinstances, subprocessinstances, the tokens and taskinstances they contain. Clients won 't notice these any more but they still remain in the database. - The circumstances in which a user can undo/reopen etc... are really specific. For example your implementation will not work if you have subprocesses or if you fork and have subtokens. Hope this helps a bit (and is a bit understandeable), feel free the comment Olivier. View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=4114912#4114912 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=4114912 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss jBPM] - Re: Re-routing Tokens
Choosing between node.leave() or node.enter() is in our approach configurable (the implementation class which determines how to re-route the token is interchangeable). Completed task instances aren't deleted too, which is ok since they can be used for logging and auditing purposes. We use the same code as you do (and also set canceled flag) (but also check if any tokens, super processes etc need to be ended). We also add the reason why they were ended (can be used for auditing purposes and to filter them out). If needed we can always write a purge method which removes/backups any old completed task instance / process instance in the database (taking in account any logging records etc that need to be removed too). Be aware when ending task instances like this and having fork/join with a task node in between. This could result in a never ending process instances. View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=4114944#4114944 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=4114944 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss jBPM] - Re: Multiple Simultaneous Task Instances of the Same Task
I guess you can do this with an actionHandler. see Wfp16MiWithoutAPrioriRuntimeKnowledge. View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=4100123#4100123 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=4100123 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss jBPM] - Re: How to save values to a node?
Just my thoughts: As far as I can tell variable instances can at this moment only be linked to tokens or to a task instance. If you want to extend this I guess you need to make extensions to the JBPM_VARIABLEINSTANCE table, for example to store variable instances linked to a graph element. You can opt to create special variable instances (of a special subtype) or a custom node which stores these variables. Olivier. View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=4100244#4100244 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=4100244 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss jBPM] - Re: [Process Designer-3.1.0] Transition text position not sa
Funny, Encountered the same issue when playing around with version 3.1.0. As a temporary fix, you can put the end-state node as last node in the gpd.xml. It seems like when this node is not the last one in the file, the node placement gets mixed up. Olivier. View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=4096614#4096614 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=4096614 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss jBPM] - Re: new eclipse new designer plug in version, broken process
See http://www.jboss.com/index.html?module=bbop=viewtopicp=4089380#4089380 Cheers, Olivier. View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=4096616#4096616 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=4096616 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss jBPM] - Re: actorId string
Good for you, But I think it just makes it harder if you want to add a more tighter link. For example when you want a foreign key relation between actorId and user or role table. I guess in your case you are able to determine from your actor id: 1) if it is a role or user (or something else) 2) What the primary key is of the role and user In this case you certainly need an extra query for retrieving roles and users corresponding with the task instances you want, which you can avoid if you have a tighter coupling. When adding the extra table I think you have the best of both worlds no? View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=4095488#4095488 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=4095488 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss jBPM] - Re: Task instances - transactions
After thinking about it a little harder: We can of course also use action handlers for this and tie them to specific events. Since our task has a few more states, we can add some custom events. This would mean we need to add the runtime variables in the task instance. Typically these should be transparent and can be removed after the business method has executed. This can be done in a custom taskController or just by removing them in the action handler. So no custom task node needed after all... View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=4095493#4095493 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=4095493 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss jBPM] - Re: actorId string
Thanx, Looking forward to see how this one evolves. View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=4095580#4095580 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=4095580 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss jBPM] - gpd extensibility - source code
Hi, I created some custom nodes in jbpm and want to check how we can adapt the gpd in order to make process definitions with our custom nodes (starting by making some custom extension for defined extension points). I downloaded jbpm 3.2.2 starters kit which contains the gpd 3.1.0.SP1. I also wanted to have the code of the designer so I downloaded the jbpm.ide directory at http://fisheye.jboss.com/browse/JBPM/ However this code doesn't seem to match at all with the gpd3.1.0.SP1 in the starters kit. The extension points defined are way different. How can I get the right code for 3.1.0.SP1? When will there be a release with the code as I did find it? thx, Olivier. View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=4095136#4095136 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=4095136 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss jBPM] - actorId string
We are customizing jbpm and are using our custom identity package (user and role). This works fine but I wonder why the decision was made to have a string for the actorId (in taskInstance and PooledActor). I mean if I want to plug in my custom user and role I prefer to make a foreign key relation in the database, so that when assigning I have a pooled actor which has a foreign key (actorId) to my User and Role. Wouldn't it be better to have an extra database table using a foreign key relation with actorId? This database table can have a discriminator and the default implementation could have a string column (just like it is now). My identity component can easily be plugged in by creating another subclass for this table (with links to my user and roles). Any thoughts? Olivier. View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=4095140#4095140 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=4095140 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss jBPM] - Re: gpd extensibility - source code
Thx, Is the stuff under jbpm.ide obsolete or future stuff? Just to know if I have to take in account a major change of extension point configuration in the near future ;-). Olivier. View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=4095143#4095143 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=4095143 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss jBPM] - Task instances - transactions
When we are using jbpm (in a client/server application), the client typically only sees a list of task instances he can complete. Normally when completing a task instance, some domain functionality has to be done (saving a report, link data with a user etc...). These two actions have to be done in a single transaction. Our approach is to be able to specify which action(s) have to be done when completing (or cancelling or ) a task instance in a custom task node in our process definition. The runtime variables to make the domain call are added when calling our server methods. Any other approaches, thoughts on this? Olivier. View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=4095147#4095147 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=4095147 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss jBPM] - Re: org.apache.commons.fileupload.FileUploadException: the r
Hi, Maybe this is related to: http://www.jboss.com/index.html?module=bbop=viewtopict=113265 or http://www.jboss.com/index.html?module=bbop=viewtopict=87394 Olivier. View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=4090904#4090904 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=4090904 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss jBPM] - Re: Custom nodes problem
I was thinking about adding a custom node which contains an action which actually is a container for other actions. This container action has a fixed set of pluggable actions. For example suppose I want a node where I need to perform A, B and C in sequence. I could model it using three consecutive nodes or I could add a node with configuration: | node | A class=com.xxx.ImplementationA | B class=com.xxx.ImplementationB | C class=com.xxx.implementationC | /node | Of course I could also create a single action with: | node | containerAction class=com.x.containerAction | A class=com.xxx.ImplementationA | B class=com.xxx.ImplementationB | C class=com.xxx.implementationC | /containerAction | /node | But then I need to parse the configuration of A, B and C actions myself. I woud end up with a containerAction containing a configuration property with xml containing other action configuration. So I felt the need to have action configuration which is recursive and some kind of container actions. Since I don't see a way to do this right now in Jbpm (only one action allowed) because I prefer not to parse configuration in the execution of the handler and don't want to add a separate node for each action child, I came up with the multiple action node idea. Anyway, I'm still searching the best solution, also considering the limited time constraint (you know how it feels ;-)). thx, Olivier. View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=4086695#4086695 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=4086695 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss jBPM] - Custom nodes problem
Hello, I want to add some custom nodes with multiple actions. What is the best way to do this? At this moment the database design only allows to have a single action (with actionhandler as delegation) per node. As far I can see I have two options: 1) Create an action handler which will create the two actions once its called, something like an container action handler. 2) Create custom nodes which can have more than one action specified. There needs to be a link between this node and all its actions. I would opt for the second, since the first option would leave me with actionhandler containing tons of xml configuration. Any ideas? Olivier. View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=4085548#4085548 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=4085548 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss jBPM] - Re: compare ProcessDefinition's
By comparing the processdefinition.xml itself? You can always retrieve them using: | processDeifnition.getFileDefinition().getBytes(processDefinition.xml); View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=4085105#4085105 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=4085105 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss jBPM] - Re: required variables
Just a little side remark: I still don't see the point why the variables were added with null values in the first place. That's why I would opt to remove that peace of code. Any reason why you choose a different solution (i.e. allowing the automatic initialization to null and afterwards checking if they were changed to not null). View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=4084437#4084437 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=4084437 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss jBPM] - Re: required variables
The reason why this fails is because you actually have an IsAssignment variable in your task instance (which is null). This because at creation time of the task instance all variables which have read access will be copied from the process instance to the task instance. Since the process instance doesn't have an IsAssignment defined, null will be filled in on task instance level. You can remove the 'read' access or add IsAssignment variable in the process instance. Hope this helps, Olivier. View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=4084053#4084053 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=4084053 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss jBPM] - Re: required variables
Ah right, I didn't spot that else part, that explains why removing the 'read' access didn't help. Is this the behaviour we want? This kills the meaning of isRequired IMO. So I would opt to remove the else part. Anyway, I guess your code is indeed a valid way to fix this in your case. Or you could write a custom task controller... View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=4084160#4084160 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=4084160 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss jBPM] - Re: getting taskList with process variables non lazy
Indeed when you want to remove the laziness in hibernate you have two options: 1) change the mapping files to remove lazy retrieval 2) make queries where you perform non lazy joining etc... The second approach is more preferable IMO since you may want to perform lazy querying for some queries and non-lazy for others. So the solution you provided is indeed similar to the thing we came up (doing fetch joins) at this point. This gives better performance, however I still need to investigate the querying a bit further because there are still too much SQL queries passing by. We also played around with batch fetching and subselect fetching. Just a question: how many sql queries are done when you retrieve the list of 1500 task instances? View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=4033916#4033916 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=4033916 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss jBPM] - Re: How to delete Memberships
I thought that doing a session.delete of a membership will also remove this membership out of the collections in user and group. This because the membership is a hibernate object and calling delete removes the object from the session (so also from the mapped collection in the same hibernate session). But like I said I didn't really try that. View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=4027895#4027895 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=4027895 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss jBPM] - Jbpm mapping file issue
Hi, When deploying jbpm.jar in a jboss environment we saw the following issue popping up. In the hibernate mapping files a typedef is used (string_max), which is only specified in hibernate.queries.hbm.xml. Other mapping files are using this typedef (Comment, Timer,...). This has as consequence that the hibernate.queries.hbm.xml mapping file must be read before the other, otherwise you get exceptions like: | org.hibernate.MappingException: Could not determine type for: string_max, for columns: [org.hibernate.mapping.Column(DESCRIPTION_)] | at org.hibernate.mapping.SimpleValue.getType(SimpleVa lue.java:265) | Hibernate is at this moment not smart enough to determine the order based on typedefs, so jbpm mapping files must be robust enough to handle this. What is a good solution for this? Repeating the typedef in all files where it is needed is a possibility. Any thoughts? Olivier. Any ideas? View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=4027454#4027454 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=4027454 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss jBPM] - Jbpm mapping file issue
Hi, When deploying jbpm.jar in a jboss environment we saw the following issue popping up. In the hibernate mapping files a typedef is used (string_max), which is only specified in hibernate.queries.hbm.xml. Other mapping files are using this typedef (Comment, Timer,...). This has as consequence that the hibernate.queries.hbm.xml mapping file must be read before the other, otherwise you get exceptions like: | org.hibernate.MappingException: Could not determine type for: string_max, for columns: [org.hibernate.mapping.Column(DESCRIPTION_)] | at org.hibernate.mapping.SimpleValue.getType(SimpleVa lue.java:265) | Hibernate is at this moment not smart enough to determine the order based on typedefs, so jbpm mapping files must be robust enough to handle this. What is a good solution for this? Repeating the typedef in all files where it is needed is a possibility. Any thoughts? Olivier. Any ideas? View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=4027456#4027456 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=4027456 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss jBPM] - Re: Jbpm mapping file issue
Sorry, sticky fingers made me post this one twice. Ignore this one... View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=4027458#4027458 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=4027458 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss jBPM] - Re: How to delete Memberships
Can't you let hibernate take care of this? I mean you can do Session.delete(membership)... Haven't tried it though. View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=4027485#4027485 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=4027485 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss jBPM] - Re: De-Persistence problem with Node?
Hi, Hibernate proxies are not aware of the original class hierarchy, but you can get your real object back of course. See: http://www.jboss.com/index.html?module=bbop=viewtopict=97094view=previous and http://www.jboss.com/index.html?module=bbop=viewtopict=94900 Hope this helps, Olivier. View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=4022289#4022289 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=4022289 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss jBPM] - Re: ERROR: ... CGLIB Enhancement failed ...
By looking at the stack trace I think you need the cglib jar in your classpath. View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=4019758#4019758 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=4019758 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss jBPM] - Re: Process Designer not working in Eclipse
Using Eclipse 3.2.0 could help... View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=4016387#4016387 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=4016387 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss jBPM] - Re: problem with CGLIB
Indeed, you get a hibernate proxy. You can change this behaviour by changing the mapping (switching off lazy retrieval) or get the real object from the proxy. See: http://www.jboss.com/index.html?module=bbop=viewtopict=94900 View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=3993013#3993013 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=3993013 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss jBPM] - Re: problem with CGLIB
Indeed, For many-to-one relation (of which this is an example) the lazy mapping property defaults to 'proxy'. you can change this one to false and choose the fetching strategy you like (fetch mapping property) to change this. See http://www.hibernate.org/hib_docs/v3/reference/en/html/mapping.html View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=3993029#3993029 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=3993029 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss jBPM] - Re: Problems getting the type of a node
Isn't the reason for this that you get a hibernate proxy for the node instead of the real Node. The class hierarchy is not known by this proxy. you can retrieve the real object and try typing there... | public static Object getProxiedObject(Object proxy) { | if (proxy instanceof HibernateProxy) { | LazyInitializer initializer = ((HibernateProxy) proxy) | .getHibernateLazyInitializer(); | return initializer.getImplementation(); | } | | return proxy; | } | View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=3986534#3986534 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=3986534 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss jBPM] - Re: Task Nodes - conditionally create tasks?
Well I guess you can create your own custom task instance which can deal with this. It just requires overriding of the end() function and keeping a TaskNode reference. Haven't tried it but I guess this would work. View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=3977533#3977533 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=3977533 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss jBPM] - Re: Task Nodes - conditionally create tasks?
anonymous wrote : There's no way to tie a task instance to a task node. It's only through the task def that there's a link between task/tasknode. AFAIK you don't need the link task/tasknode. You can just have a task def tied to the process definition and create task instances in the task node (using event handlers f.e.). You can actually create task instances in any node. anonymous wrote : but it's important we have the task/tasknode relationship Why? anonymous wrote : We could just have NO tasks created at node entry, and manually create a task instance ourselves, but allowing the tasks to be created conditionally seems more elegant You can also create the tasks defined in the task node (mandatory ones), and create the ones defined at process definition level optionally. View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=3977455#3977455 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=3977455 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss jBPM] - Re: Task Nodes - conditionally create tasks?
cpob wrote : | Making the change to support the AUTOCREATE column is far simpler than creating an optional task node. All that is needed is the if..statement in TaskNode's execute method and then support for the new column in the mapping/etc. Yep, I agree. I this also useable if you want to create 2 mandatory and 3 optional instances of the same task def? And what if the task def is not defined in a task node? I don't think a ref to task defs is possible. Just wandering if the task/task node link as it exists now can' t be extended. Anyway, I think your solution indeed gives an added value. Thx, Olivier. View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=3977552#3977552 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=3977552 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss jBPM] - Re: Task Nodes - conditionally create tasks?
anonymous wrote : Olivier_Debels wrote : And what if the task def is not defined in a task node? I don't think a ref to task defs is possible. | | | | Just wandering if the task/task node link as it exists now can' t be extended. | | Not sure if I follow you with this one. If a task def is not linked to a task node, it would just be the process task like we talked about. It would still be created (if using our flag idea) conditionally, depending on if the user creates the instances, or a task event, etc. Never mind, I was just thinking about splitting definition of a task and linkage to a node (task node). Anyway at some point you need to define the link. Greetz, Olivier. anonymous wrote : View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=3977596#3977596 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=3977596 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss jBPM] - Re: Task Nodes - conditionally create tasks?
I think you can do something like: Adding a task definition directly under the process definition (and not in the task node) and play with this: * Then you can create a task instance of the mandatory task in the task node: + By using an event if you want to use the task definition under the process definition + By putting another task definition in the task node and setting create-task true * You can create the other task instances using event handlers for example. If you look at the test cases under org.jbpm.jpdl.patterns you can find some examples. Hope this helps, Olivier. View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=3977278#3977278 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=3977278 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss jBPM] - Deploying recursive process definitions
Hello, When playing around with jpbm I stumbled onto this problem for which I can't find a decent solution (to be honest I think it cannot be handled with my version of jbpm - which is 3.1.1). The problem is as follows: When deploying a process definition A which has another process definition B as sub process (using processState node), you need to first deploy a new version of B before deploying A. Otherwise A will still be linked with an older version of B. The reason for this behavior is that the link with the subprocess is resolved at deployment time, so if A is deployed first it will be linked with the existing (older) version of B in the database. Deploying B afterwards will not resolve this, so A is stuck in this case with the older version of B. That's OK for me. Furthermore the resolving behavior can be tweaked by providing a custom SubProcessResolver. Suppose that you have a recursive process definition, i.e. the process definition A has itself as subprocess. If I Deploy A, it will resolve the subProcess, which will make a link to the older deployed version of A! And this is not what we want, it must refer to the new deployed version!! Same problem arises with other recursive process definitions f.e. A containing B, containing C which contains A again. When looking at the code I see that there is something which handles the case when a recursive process definition is deployed for the first time (ProcessState.java). | // in case this is a self-recursive process invocation... | if (subProcessDefinition==null) { | String subProcessName = subProcessElement.attributeValue(name); | if (subProcessName.equals(processDefinition.getName())) { | subProcessDefinition = processDefinition; | } | } This will work since no A is deployed yet, but as soon as an A is deployed the subProcessDefinition will be filled in by the resolver (with a wrong old deployed A). How to solve this problem? Is there a way to deploy A and stalling the resolution of subprocesses? thx, Olivier. View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=3971215#3971215 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=3971215 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss jBPM] - Re: CommandExecuter thread and CMT
Is it worth making a JIRA issue of this? Or am I missing something? View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=3965650#3965650 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=3965650 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss jBPM] - Re: CommandExecuter thread and CMT
Yes, indeed there is an error in the documentation stating you have to define but it should be . Anyway I did it correctly in my configuration file, but thx for pointing it out, it sure doesn't harm to publish this here. jbpm-context | service name=persistence | factory | bean class=org.jbpm.persistence.db.DbPersistenceServiceFactory | field name=isTransactionEnabledfalse //field | /bean | /factory | /service | ... | /jbpm-context My problem is actually a bug as far as I can tell. Anyway if you're not using jbpm transactions and using commandExecutorThread you should have the same issue (no?). It just wanted to point this out and see if I am correct, even if it does not affect me at this moment (we are not using commandExecutorThread yet...) Olivier. View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=3965748#3965748 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=3965748 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss jBPM] - Re: how to retrieve task instance/process instances in a spe
anonymous wrote : Yes. It is partially true. It is only needed to change the hibernate.cfg.xml to include something like: That's what I said. You need to create a hibernate.cfg.xml with an additional mapping to your own queries xml. anonymous wrote : I just don't understand how to add my own jbpm.cfg.xml file. If i do this, what will happen to the existing configuration items in the original jbpm.cfg.xml file? You can create your own configuration file (default name is jbpm.cfg.xml but you can specify another name if you want to in JbpmConfiguration.getInstance() call).This will overwrite the configurations in default.jbpm.cfg.xml. So you just need to add the configuration settings you would like to change in your configuration file. anonymous wrote : After going through the source code, i found that all the Sessions like GraphSession, TaskMgntSession etc are obtained from JbpmContext which use the DBPersistenceService. And DBPersistenceService hardcode these sessions there. | | What i can do is to create my own class like XXXSessioin and initialize it manually because it cannot be availalbe from JbpmContext. | | Is this right? | | comments? You can create your own persistenceService and use this one by adding your own DbPersistenceServiceFactory in your configuration file. There you can do whatever your want. Best is to subclass the existing DbPersistenceService and start from there I guess. Olivier View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=3965220#3965220 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=3965220 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss jBPM] - Re: how to retrieve task instance/process instances in a spe
I think it is much cleaner to just add your own queries. It's rather easy if you just do it the same way as it is done in jbpm. Just create your own extra queries file and make sure it is loaded in your hibernateSessionFactory (by adding it in your hibernate.cfg.xml). By doing this you can extend the jbpm stuff with your own queries without the need to change anything to the internal queries or mappings. Then you can write some classes which shield you from the hibernate usage. You could f.e. add a new service or provide your own implementation for an existing one (by putting it in your own jbpm.cfg.xml). Hope this helps, Olivier. View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=3964901#3964901 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=3964901 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss jBPM] - CommandExecuter thread and CMT
Hello, I'm currently using Jbpm 3.1.1 with CMT configured (by setting 'isTransactionEnabled' to false in my jbpm.cfg.xml). Whenever an exception occurs in the command executer thread, I get the exception: setRollbackOnly was invoked while configuration specifies user managed transactions. The reason for this is that in the commandExecuterThread any error is catched by: | ... | } catch (Throwable t) { | // rollback the transaction | log.debug(command '+message+' threw exception. rolling back transaction, t); | jbpmContext.setRollbackOnly(); | ... | And when the context is closed afterwards (jbpmContext.close()), all services will be closed. Looking at the DbPersistenceServiceProvider code this results in: | public void close() { | if ( (session!=null) | (transaction==null) | (isRollbackOnly) |) { | throw new JbpmException(setRollbackOnly was invoked while configuration specifies user managed transactions); | } | ... | Since we have no transaction (we configured it this way) and the isRollbackOnly is true (set by previous code) we get this exception. So I seems like the command executor thread is not behaving well when working in a CMT. View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=3964957#3964957 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=3964957 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss jBPM] - Re: async actions never starting
The command executor thread is taking care of asynchronous command execution. In the starter kit this one (and the scheduler thread) are created by the JbpmThreadsServlet in the web-app. This means in order to have asynchronous command execution (or scheduler) you need to deploy the web-app. Another option is to put the code which starts those two threads somewhere else (in case you really don't use the web-app). Are you sure the command execution thread is running? View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=3962865#3962865 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=3962865 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss jBPM] - Re: A timer associated to a process instance ?
Timers are fired in the schedulerthread which is started up in the JbpmThreadsServlet of the jbpm-webapp. In order to make it run you have to add the code to start the schedulerthread or also deploy the webapp. View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=3962869#3962869 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=3962869 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss jBPM] - Re: Using Expression language for setting ActionHandler prop
Don't understand what you are trying to do. In the action handler you can get to the process variables by using executionContext.getVariable(myVariable). View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=3962885#3962885 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=3962885 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss jBPM] - Re: Using Expression language for setting ActionHandler prop
You can add a custom instantiator if you want to do this. View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=3962891#3962891 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=3962891 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss jBPM] - Re: Bugs in org.jbpm.graph.node.Decision?
This is a nasty one. To keep it short: just add names to your transitions. The reason is that the Decision class is using these names to refer to the right transition. If the name is not filled in the default leaving transition will be taken. | if (Boolean.TRUE.equals(result)) { | transitionName = decisionCondition.getTransitionName(); | } | I leave it up to you to decide if this is a bug (or by design) and should be filed in JIRA. Olivier. View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=3962106#3962106 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=3962106 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss jBPM] - Re: Persistance
You should use JbpmContext.loadProcessInstance() to load a process instance. What you're trying to do here doesn't make any sense. Take a look at chapter 3 in the document. View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=3962107#3962107 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=3962107 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss jBPM] - Re: monitoring piece of default webapp not displaying the co
You're right! It only goes for nodes that don't override the execute method (simple nodes f.e.). So forget my remark for this one. View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=3962120#3962120 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=3962120 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss jBPM] - Re: Persistance
The process definition is not persisted probably because you forget to close the JbpmContext when deploying. Closing the context will perform a commit on the database. So in a realistic example you need to open a JbpmContext, deploy and close. Afterwards you create another JbpmContext to retrieve the process instances (and close this one). View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=3962133#3962133 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=3962133 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss jBPM] - Re: Persistance
You can reuse JbpmContext by using JbpmContext.getCurrentJbpmContext(). This is stored in a thread local variable. So if you open a context, only perform a deploy and then close the context the process definition is not saved? View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=3962136#3962136 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=3962136 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss jBPM] - Re: Persistance
In your case it should work if: * you create and close a context when deploying | * you create and close a context when retrieving process instances | * you create and close a context when showing all open tasks | | | No need to reuse a context here. View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=3962141#3962141 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=3962141 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss jBPM] - Re: Persistance
Strange, If you are using hsqldb, see 8.3 in documentation to check if process definitions are actually stored in the database. You can also try to deploy the definitions using the gpd designer tool. View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=3962147#3962147 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=3962147 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss jBPM] - Re: Persistance
Did you look in the database using the hsqldb manager? View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=3962150#3962150 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=3962150 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss jBPM] - Re: Assigning users to task
A possibility is: You could use executionContext.getProcessInstance().getTaskMgmtInstance().getTaskInstances() in your assignmentHandler. This gives you all task instances of the current process instance. Then you can look up the start task, find the swimlane instance and its actorid and add this to the group of users. Maybe there are better solutions... View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=3962156#3962156 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=3962156 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss jBPM] - Re: Persistance
Remove JbpmConfiguration.getInstance().createSchema(). You only need to do that once and not every time. View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=3962159#3962159 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=3962159 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss jBPM] - Re: problems using jbpm 3.1 with jboss 4.0.0
The ; will work with the 1.0 version. The 1.0 version is using indexOf(boundary=) to get the boundary part from the content type. So it will work whatever independent of the separator you use. The 1.1.1 version is using a parser which ';' as separator. It is filling up a map with found properties. When using a ',' instead of a ';' the property with name boundary is not found (it will contain a property with name multipart/form-data, boundary instead ;-)). I filed a jira issue for this: http://jira.jboss.com/jira/browse/JBPM-698 greetz, Olivier. View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=3958694#3958694 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=3958694 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss jBPM] - Re: problems using jbpm 3.1 with jboss 4.0.0
Hi, I also stumbled on this problem and did find it interesting enough to share. It seems to be correlated with the use of commons-fileupload jar. The starters kit is using commons-fileupload-1.0 jar. When trying to use commons-fileupload-1.1.1 jar you will get the exception the request was rejected because no multipart boundary was found. The reason here is that at deployment (using the gpd designer tool) the content type is filled in as 'multipart/form-data, boundary=AaB03x'. This will be correctly parsed by the 1.0 jar but not by the 1.1.1 jar. You need to convert it to 'multipart/form-data; boundary=AaB03x' in order to make it work with the 1.1.1 stuff (or stick with the 1.0 jar if you choose to do so...). As for as I can see according to RFC1341 the 1.1.1 version of the jar is doing the right thing, so this is actually a bug in the designer when calling the upload servlet. Olivier. View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=3958426#3958426 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=3958426 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user