Bug 1285103 - Error using org.jbpm.kie.services.impl.KModuleDeploymentService to deploy
Summary: Error using org.jbpm.kie.services.impl.KModuleDeploymentService to deploy
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: JBoss BPMS Platform 6
Classification: Retired
Component: jBPM Core
Version: 6.2.0
Hardware: x86_64
OS: Mac OS
high
high
Target Milestone: ---
: ---
Assignee: Maciej Swiderski
QA Contact: Marek Winkler
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-11-24 21:42 UTC by Hao Wu
Modified: 2016-01-04 19:41 UTC (History)
6 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2015-12-02 16:21:59 UTC
Type: Bug
Embargoed:


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

Description Hao Wu 2015-11-24 21:42:34 UTC
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 09:59:10 UTC
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 11:30:52 UTC
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 15:54:31 UTC
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.