Bug 1285103 - Error using org.jbpm.kie.services.impl.KModuleDeploymentService to deploy
Error using org.jbpm.kie.services.impl.KModuleDeploymentService to deploy
Status: CLOSED NOTABUG
Product: JBoss BPMS Platform 6
Classification: JBoss
Component: jBPM Core (Show other bugs)
6.2.0
x86_64 Mac OS
high Severity high
: ---
: ---
Assigned To: Maciej Swiderski
Marek Winkler
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2015-11-24 16:42 EST by Hao Wu
Modified: 2016-01-04 14:41 EST (History)
6 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2015-12-02 11:21:59 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
Full error log (14.73 KB, text/plain)
2015-11-24 16:42 EST, Hao Wu
no flags Details

  None (edit)
Description Hao Wu 2015-11-24 16:42:34 EST
Created attachment 1098414 [details]
Full error log

Description of problem:

When using the org.jbpm.kie.services.impl.KModuleDeploymentService to deploy a deployment unit, I get the following error:

Caused by: java.lang.IllegalAccessError: tried to access method com.google.common.collect.MapMaker.makeComputingMap(Lcom/google/common/base/Function;)Ljava/util/concurrent/ConcurrentMap; from class com.google.inject.internal.Annotations$AnnotationChecker

The full log is attached.

The test works fine with jBPM version 6.2.0.Final-redhat-9.

Version-Release number of selected component (if applicable):
BPM Suite version 6.2.0.ER-redhat-5
jBPM version 6.3.0.Final-redhat-4

How reproducible:

Steps to Reproduce:
1.  Down load the services example here: https://github.com/mswiderski/spring-jbpm-app
2.  Change the drools and jbpm version from 6.2.0-SNAPSHOT to 6.3.0.Final-redhat-4.  Make sure you have the correct maven repository set up to include the early release maven libs.
3.  Run mvn install and the test will fail.

Actual results:

Test fails

Expected results:

Test succeeds

Additional info:

Related to https://issues.jboss.org/browse/JBPM-4798
Comment 2 Marek Winkler 2015-11-30 04:59:10 EST
I have tested the spring-jbpm-example app and I can confirm that the problem is there.

However, it can be avoided if you use the product BOM, please try adding the following at the beginning of <dependencyManagement> section:

      <dependency>
        <groupId>org.jboss.bom.brms</groupId>
        <artifactId>jboss-brms-bpmsuite-platform-bom</artifactId>
        <version>${droolsjbpm.product.version}</version>
        <scope>import</scope>
        <type>pom</type>
      </dependency>

and declare the product version property as follows:

      <droolsjbpm.product.version>6.2.0.CR-redhat-1</droolsjbpm.product.version>

This will effectively use guava 13.0.1-redhat-2, which is the correct one.

Using the product BOM will make your application use the same versions of dependencies that BxMS product had been built with.

Nevertheless, after correcting guava version, the test fails with NPE in KModuleDeploymentService.processResources as described in [1]. It seems to fail handling .ftl and .form resources.

[1] https://issues.jboss.org/browse/JBPM-4798?focusedCommentId=13129027&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13129027
Comment 3 Marek Winkler 2015-12-02 06:30:52 EST
The NPE was fixed by injecting FormManagerService instance into KModuleDeploymentService in jbpm-context.xml, please see [1].

The test then passes and the spring-jbpm-example deploys successfully (I was able to log in and deploy a kjar).

To sum it up, using product platform BOM and fixing jbpm-context.xml made spring-jbpm-example work with BxMS 6.2.0.

I would vote for closing this issue, do you think there is something I missed?

[1] https://github.com/mswiderski/spring-jbpm-app/pull/1
Comment 4 Hao Wu 2015-12-02 10:54:31 EST
Thank you for the fix.  I've tested this using:

      <dependency>
        <groupId>org.jboss.bom.brms</groupId>
        <artifactId>jboss-brms-bpmsuite-platform-bom</artifactId>
        <type>pom</type>
        <version>${jbpm.version}</version>
        <scope>import</scope>
      </dependency>

and 

<jbpm.version>6.2.0.CR-redhat-1</jbpm.version>

Then adding the formManagerService property into deploymentService.

All tests are now working as expected.

Please close this issue.

Note You need to log in before you can comment on or make changes to this bug.