[JBoss JIRA] Created: (JBPM-2834) Conditional transition cannot be considered as a default one
by Martin Vecera (JIRA)
Conditional transition cannot be considered as a default one
------------------------------------------------------------
Key: JBPM-2834
URL: https://jira.jboss.org/jira/browse/JBPM-2834
Project: jBPM
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: Runtime Engine
Affects Versions: jBPM 3.2.8, jBPM 3.2.9
Environment: SOA-P 4.3.CP03 ER1
Reporter: Martin Vecera
The documentation reads:
====
The contents of the condition element is a jPDL expression that should evaluate to a boolean. A decision takes the first transition (as ordered in the processdefinition.xml) for which the expression resolves to true. If none of the conditions resolve to true, the default leaving transition (== the first one) will be taken.
====
If I have only a conditional transition in a node (hence the first one) it is not used as the default leaving transition.
Process definition to simulate the behaviour:
====
<?xml version="1.0" encoding="UTF-8"?>
<process-definition xmlns="urn:jbpm.org:jpdl-3.2" name="processDefinition3">
<start-state name="start">
<transition to="node1"></transition>
</start-state>
<node name="node1" async="true">
<transition to="node2" condition="#{AAA == null}"></transition>
</node>
<node name="node2">
<transition to="end1"></transition>
</node>
<end-state name="end1"></end-state>
</process-definition>
====
Exception being thrown on signaling process's token:
10:16:33,629 ERROR [JobExecutorThread] job execution failure
org.jbpm.JbpmException: transition is null
at org.jbpm.graph.def.Node.leave(Node.java:449)
at org.jbpm.graph.def.Node.leave(Node.java:430)
at org.jbpm.graph.def.Node.execute(Node.java:421)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:173)
at org.jbpm.graph.def.Node_$$_javassist_81.execute(Node_$$_javassist_81.java)
at org.jbpm.job.ExecuteNodeJob.execute(ExecuteNodeJob.java:24)
at org.jbpm.job.executor.JobExecutorThread.executeJob(JobExecutorThread.java:192)
at org.jbpm.job.executor.JobExecutorThread.run(JobExecutorThread.java:66)
JBPM-Console says:
Error signalling token: An exception of type "org.jbpm.JbpmException" was thrown. The message is: Node(node1) has no default transition
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 10 months
[JBoss JIRA] Created: (JBPM-2505) ProcessInstanceQuery - no way to search by process variables
by Joao Fonseca (JIRA)
ProcessInstanceQuery - no way to search by process variables
------------------------------------------------------------
Key: JBPM-2505
URL: https://jira.jboss.org/jira/browse/JBPM-2505
Project: jBPM
Issue Type: Feature Request
Security Level: Public (Everyone can see)
Affects Versions: jBPM 4.0.0 Alpha1, jBPM 4.0.0 Alpha2, jBPM 4.0.0.Beta1, jBPM 4.0.0.Beta2, jBPM 4.0.CR1, jBPM 4.0, jBPM 4.x, jBPM 4.2, jBPM 4.1
Reporter: Joao Fonseca
Currently, there's no way of searching for process instances that contain variables set to a given value.
Sometimes, there's no way of assigning a process instance key when starting a process, so we need to search for processes using values stored in some of the variables...
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 11 months
[JBoss JIRA] Created: (JBPM-1924) Improved participant UI
by Thomas Diesler (JIRA)
Improved participant UI
-----------------------
Key: JBPM-1924
URL: https://jira.jboss.org/jira/browse/JBPM-1924
Project: JBoss jBPM
Issue Type: Feature Request
Security Level: Public (Everyone can see)
Components: Console
Reporter: Thomas Diesler
Priority: Critical
* Participant UI: A production-ready inbox & task-form display solution, with a full-set of form controls, editable CSS, etc. Two Goldman CTOs felt this was the absolute highest priority to resolve ASAP (I received the same feedback from them in August). They have already made attempts to modify the current Admin Console (JSF/Gravel-based) and intend to tweak the GWT-based console. However, the Eclipse-tooling Visual Task Form Designer is relatively weak, it doesn't allow me to easily express things like Drop-Down list, numeric input only, check-box, pop-up calendar for date, etc. This UI is a process participants (e.g. clerk in the office) primary UI, their view of the world, they see all their own and their team's tasks (note: the current console shows all tasks for everybody, not just the logged in user). The current UI only uses inputText (single-line edits). The JBoss logo needs to be customizable (I want it to say Goldman in that upper left corner)
I'll attempt to mark up some changes to the current console so you get a feel for their specific feedback. It should be noted that Amentra also felt this was a mandatory feature before we can call ourselves a BPM product.
No Java Coding, just pointing & clicking.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 11 months
[JBoss JIRA] Created: (JBPM-2827) Run gwt-console on JBoss AS 4.x and 5.x
by Kris Verlaenen (JIRA)
Run gwt-console on JBoss AS 4.x and 5.x
---------------------------------------
Key: JBPM-2827
URL: https://jira.jboss.org/jira/browse/JBPM-2827
Project: jBPM
Issue Type: Feature Request
Security Level: Public (Everyone can see)
Reporter: Kris Verlaenen
How can we support deployment on both JBoss AS 4.x and 5.x? Because for 4.x I need to exclude a lot of jars because they otherwise conflict with the ones by default on the server classpath (hibernate, jta, jpa, javassist). Having an issue with javassist in this case as well, as the version you are bundling in the gwt-console-server-drools.war conflicts with the javassist + hibernate on server classpath. Is there any chance this could be marked as provided? These jars don't seem to be there in AS 5.x by default, so in that case the war should contain all jars?
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 11 months
[JBoss JIRA] Created: (JBPM-2919) Memory leak because of org.jbpm.JbpmConfiguration.jbpmConfigurationStacks not released
by Mauro Molinari (JIRA)
Memory leak because of org.jbpm.JbpmConfiguration.jbpmConfigurationStacks not released
--------------------------------------------------------------------------------------
Key: JBPM-2919
URL: https://jira.jboss.org/browse/JBPM-2919
Project: jBPM
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: Runtime Engine
Affects Versions: jBPM 3.2.7
Reporter: Mauro Molinari
When class org.jbpm.JbpmConfiguration gets initialized by the class loader, a static variable named jbpmConfigurationStacks gets initialized. This is a ThreadLocal, and so it gets registered in the java.lang.Thread.threadLocals map of the calling thread.
However, if jBPM is embedded into a web application, this means that that variable is registered on one of the HTTP threads of the application server. When the web application shuts down, the mapping is not removed, because there's no code in jBPM that takes care of this task.
Fortunately, the value of this thread local is of type ArrayList, which is a class which is surely loaded by the root class loader, so no references to the webapp class loader are retained. However, Tomcat 6.0.28 still says the following:
SEVERE: The web application [/webappname] created a ThreadLocal with key of type [org.jbpm.JbpmConfiguration.StackThreadLocal] (value [org.jbpm.JbpmConfiguration$StackThreadLocal@26fe26cc]) and a value of type [java.util.ArrayList] (value [[]]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
A fix could be to do a remove() on that ThreadLocal when a call to org.jbpm.JbpmConfiguration.popJbpmConfiguration() causes the list to become empty.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
14 years
[JBoss JIRA] Created: (JBPM-2133) Error handling in CommandServiceBean.execute
by Volker Börchers (JIRA)
Error handling in CommandServiceBean.execute
--------------------------------------------
Key: JBPM-2133
URL: https://jira.jboss.org/jira/browse/JBPM-2133
Project: JBoss jBPM
Issue Type: Patch
Security Level: Public (Everyone can see)
Affects Versions: jBPM 3.2.6.SP1
Environment: irrelevant
Reporter: Volker Börchers
Priority: Minor
regards CommndServiceBean.execute(Command command):
public Object execute(Command command)
{
JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext();
try
{
log.debug("executing " + command);
return command.execute(jbpmContext);
}
catch (RuntimeException e)
{
sessionContext.setRollbackOnly();
throw e;
}
catch (Exception e)
{
sessionContext.setRollbackOnly();
throw new JbpmException("failed to execute " + command, e);
}
finally
{
jbpmContext.close();
}
}
If an exception occurres in Command.excute() it's important that this exception is propagated to the client to allow for proper exception handling to differentiate e.g. between a concurrency issue ("job is locked by...") and a database error.
These exceptions are not propagated to the client if the jbpmContext.close() in the finally block throws an exceptions. This might very well happen since it performs non-trivial operations, e.g. access the database. (Actually it it seems to me as if the failure of jbpmContext.close() always happen, maybe since after the setRollbackOnly() no new connections are possible.)
The following change will fix the problem:
public Object execute(Command command)
{
JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext();
boolean exceptionThrown = false;
try
{
log.debug("executing " + command);
return command.execute(jbpmContext);
}
catch (RuntimeException e)
{
sessionContext.setRollbackOnly();
exceptionThrown = true;
throw e;
}
catch (Exception e)
{
sessionContext.setRollbackOnly();
exceptionThrown = true;
throw new JbpmException("failed to execute " + command, e);
}
finally
{
try
{
jbpmContext.close();
}
catch (Exception e2) {
if (exceptionThrown)
{
// JIRA XX: do not hide thrown exception
log.error("exception on context close", e2);
}
else
{
throw e2;
}
}
}
}
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
14 years
[JBoss JIRA] Created: (JBPM-2142) No save of processInstance in TaskInstanceEndCommand
by Joram Barrez (JIRA)
No save of processInstance in TaskInstanceEndCommand
-----------------------------------------------------
Key: JBPM-2142
URL: https://jira.jboss.org/jira/browse/JBPM-2142
Project: JBoss jBPM
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: Core Engine
Affects Versions: jBPM 3.3.1 GA, jBPM 3.2.7 GA
Reporter: Joram Barrez
Priority: Minor
The TaskInstanceEndCommand does not save the processInstance.
This means (among others) that the process logs will not be persisted to the database, since they are only stored upon a call to the save() method on the jBPM Context.
The solution is simple, add
jbpmContext.save(taskInstance.getProcessInstance());
to the command.
I haven't checked the other commands, but the bug can occur in other commands.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
14 years