Bug 780815 (SOA-3261)

Summary: Remove JcrNodeMatcher from jbpm.varmapping.xml
Product: [JBoss] JBoss Enterprise SOA Platform 5 Reporter: Martin Weiler <mweiler>
Component: JBPM - within SOAAssignee: Marco Rietveld <mrietvel>
Status: CLOSED NEXTRELEASE QA Contact:
Severity: high Docs Contact:
Priority: high    
Version: 5.1.0 GACC: smcgowan
Target Milestone: ---   
Target Release: 5.2.0 GA, 5.2.0.ER4   
Hardware: Unspecified   
OS: Unspecified   
URL: http://jira.jboss.org/jira/browse/SOA-3261
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-10-21 11:40:01 UTC Type: Task
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Martin Weiler 2011-08-11 10:26:48 UTC
Help Desk Ticket Reference: https://na7.salesforce.com/500A0000007qyRe
project_key: SOA

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{vfsfile:/data/jboss/work/jboss-soa-p-5.1.0/jboss-as/server/test/deploy/jbpm.esb/
}
	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

Comment 1 Martin Weiler 2011-08-11 10:27:21 UTC
Link: Added: This issue is related to SOA-2206


Comment 2 (please assign to mrietvel@redhat.com) 2011-08-12 10:49:38 UTC
Link: Added: This issue is related to JBPM-3326


Comment 3 Douglas Palmer 2011-09-08 10:32:47 UTC
Fixed in 3.2.11.SP1 which will be included in ER4.

Comment 4 David Le Sage 2011-09-18 23:34:31 UTC
Release Notes Docs Status: Added: Documented as Resolved Issue
Writer: Added: dlesage
Release Notes Text: Added: https://issues.jboss.org/browse/SOA-3261

As the jcr*.jar was removed from SOA, the JCR Node mapping has now also been removed from jbpm.varmapping.xml.
This was to prevent users from encountering java.lang.NoClassDefFoundError messages.


Comment 5 Jiri Pechanec 2011-10-21 11:40:01 UTC
Verified in ER5