-
Type:
Task
-
Status: Closed (View Workflow)
-
Priority:
Major
-
Resolution: Done
-
Affects Version/s: 5.1.0 GA
-
Component/s: JBPM - within SOA
-
Labels:None
-
Release Notes Text:
-
Release Notes Docs Status:Documented as Resolved Issue
As the jcr*.jar has been removed from SOA-P 5.1.0 as a result of SOA-2206, we should also remove the JCR Node mapping from jbpm.varmapping.xml:
<!-- JSR 170 JCR Node -->
<jbpm-type>
<matcher>
<bean class="org.jbpm.context.exe.matcher.JcrNodeMatcher" />
</matcher>
<variable-instance class="org.jbpm.context.exe.variableinstance.JcrNodeInstance" />
</jbpm-type>
Otherwise, an attempt to persist a jBPM variable which is not handled by any of the other matchers (eg. a non-serializable POJO), results in the following failure:
WARN [org.jboss.soa.esb.listeners.message.MessageAwareListener] (pool-21-thread-1
TransactionalRunner caught throwable:
java.lang.NoClassDefFoundError
at org.jbpm.context.exe.matcher.JcrNodeMatcher.class$(JcrNodeMatcher.java:33)
at org.jbpm.context.exe.matcher.JcrNodeMatcher.matches(JcrNodeMatcher.java:33)
at org.jbpm.context.exe.JbpmType.matches(JbpmType.java:54)
at org.jbpm.context.exe.VariableInstance.createVariableInstance(VariableInstance.java:76)
at org.jbpm.context.exe.VariableInstance.create(VariableInstance.java:59)
at org.jbpm.context.exe.VariableContainer.setVariableLocally(VariableContainer.java:171)
at org.jbpm.context.exe.VariableContainer.setVariable(VariableContainer.java:50)
at org.jbpm.context.exe.ContextInstance.setVariable(ContextInstance.java:205)
at org.jbpm.context.exe.ContextInstance.setVariable(ContextInstance.java:196)
at org.jbpm.command.NewProcessInstanceCommand.execute(NewProcessInstanceCommand.java:99)
...
Caused by: java.lang.ClassNotFoundException: javax.jcr.Node from BaseClassLoader@7a043387
at org.jboss.classloader.spi.base.BaseClassLoader.loadClass(BaseClassLoader.java:477)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:186