[MGNLWORKFLOW-267] Library conflict between Workflow with JBPM 6 and Weblogic/Websphere Created: 30/Jul/14  Updated: 01/Nov/16  Resolved: 11/Aug/15

Status: Closed
Project: Magnolia Workflow Module
Component/s: None
Affects Version/s: None
Fix Version/s: 5.5

Type: Bug Priority: Critical
Reporter: Milan Divilek Assignee: Espen Jervidalo
Resolution: Fixed Votes: 0
Labels: support
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
causality
is causing MGNLEE-466 Updated jBPM libraries don't work on ... Closed
relation
is related to MGNLWLS-13 Update Weblogic Module to be compatib... Closed
is related to DOCU-523 Conflicting libraries issues with Web... Closed
supersession
is superseded by MGNLWORKFLOW-277 Update to jBPM 6.1 Closed
Template:
Acceptance criteria:
Empty
Task DoD:
[ ]* Doc/release notes changes? Comment present?
[ ]* Downstream builds green?
[ ]* Solution information and context easily available?
[ ]* Tests
[ ]* FixVersion filled and not yet released
[ ]  Architecture Decision Record (ADR)
Bug DoR:
[ ]* Steps to reproduce, expected, and actual results filled
[ ]* Affected version filled
Date of First Response:

 Description   

Deploying Magnolia with JBPM 6 affects deployment feature of Weblogic/Websphere AS. It does't care if Administration Console, weblogic.Deployer, wldeploy Ant task or auto deploy directory is used all are affected.

Symptoms:
Magnolia can't be deployed to Weblogic. "weblogic.application.ModuleException: java.lang.ClassNotFoundException: org.jbpm.services.task.lifecycle.listeners.TaskLifeCycleEventListener". Full stacktrace http://pastebin.com/gsUy28DU

TaskLifeCycleEventListener is part of jbpm-human-task-core library. This library is excluded from the Workflow bundle. So if you remove exclusions from the workflow pom then "weblogic.application.ModuleException: java.lang.ClassNotFoundException: org.codehaus.janino.util.resource.ResourceFinder".

...

Workaround:
First deploy application which doesn't contain Magnolia Workflow with jbpm6 (etc. M5.2.2, M5.3 without workflow, etc.). And then in deployment target location replace deployed webapp by new webapp which contains workflow with jbpm6

Related forum post:
https://community.jboss.org/thread/237081



 Comments   
Comment by Espen Jervidalo [ 26/Nov/14 ]

Tested w/ latest workflow using jBPM 6.1 and weblogic 12. Successfully deployed and started.

Fixed for 5.5, use workaround for 5.4

Comment by Edwin Guilbert [ 16/Jul/15 ]

We are facing this issue again with Magnolia 5.4 + Workflow 5.5 + Weblogic 12c . You can check the exception from the weblogic log here: http://pastebin.com/QHhj99Vm

Comment by Espen Jervidalo [ 17/Jul/15 ]

This is due to Weblogic scanning all classes of all dependencies and then running into some that we explicitly exclude in workflow, as they're not really used.
As a workaround you can add the following dependencies to your project:

<groupId>org.jbpm</groupId>
<artifactId>jbpm-human-task-core</artifactId>

<groupId>org.jbpm</groupId>
<artifactId>jbpm-audit</artifactId>

Version is 6.2.0.Final or whatever jbpm version is bundled with workflow.

As for Magnolia 5.4 we seem to be facing other problems as well due to the new resources loading, even without workflow.

Comment by Espen Jervidalo [ 28/Jul/15 ]

Another issue arose when deploying on a production setup. So we need to explicitly add the following dependency to the the pom

<dependency>
  <groupId>org.codehaus.janino</groupId>
  <artifactId>janino</artifactId>
  <version>2.5.16</version>
</dependency>

This is an optional dependency for switching the internal java-compiler used in jBPM. It should really not be used, as the default compile ris 'ECLIPSE', but weblogic seems not to be happy without it. See:
org.drools.compiler.commons.jci.compilers.JavaCompilerFactory
org.drools.compiler.commons.jci.compilers.JaninoJavaCompiler

Comment by Edwin Guilbert [ 28/Jul/15 ]

We applied the changes suggested here:
Adding jbm-audit, jbpm-human-task-core and janino jars and it worked.

Just for documentation sake, the issue related to the missing janino library was this exception:

weblogic.application.ModuleException: java.lang.ClassNotFoundException: org.codehaus.janino.util.resource.ResourceFinder

I believe you can mark this issue as resolved.

Comment by Jan Haderka [ 11/Aug/15 ]

Please do not reopen issues in versions that were released, instead create new issue and set causality link.
Thanks you.

Generated at Mon Feb 12 10:08:24 CET 2024 using Jira 9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b.