Created attachment 781964 [details] server.log Web application using jBPM6 CR1 throws ClassNotFoundException: bitronix.tm.BitronixTransactionManager. To reproduce: 1.) Go to https://github.com/jsvitak/jbpm-6-examples and clone it. 2.) Follow the readme.md file in rewards-basic to build and deploy the application. 3.) You can see in server log information from weld that it cannod find Bitronix. I think that jBPM should not hard depend on Bitronix. The application works correctly because it uses common JTA API and so JBoss transactions in EAP are picked to handle transactions. Bitronix is not necessary in web applications for EAP. I am using community jBPM 6 CR1, because there are no product binaries available yet for development.
There indeed shouldn't be a runtime dependency on bitronix. It seems one of the classes we use for Bitronix integration however is being picked up by the weld scanner. Am I correct in assuming that this generates the given error in the server log, but the application itself is still working as expected? Thx, Kris
The issue is caused by jbpm-shared-services that currently hosts two classes that are for bitornix tx handling in CDI for non app servers like tomcat or jetty. The exception is thrown as they are marked as Veto CDI beans but still CDI loads the class itself and throws the exception. I suppose it does not break the deployment but only reports the error in logs. Anyway it needs to be fixed. As a work around please include bitornix into app classpath to avoid this error. There are two options for resolving this: 1. move these two classes into separate maven module - might be too much for just two classes 2. use maven assembly to filter out the bitronix related classes from the main artifact and produce additional with btm classifier so non app server deployments could refer to it. Any thought?
Kris: Yes, application works as expected.
bitronix related classes have been moved to separate jar produced by jbpm-shared-services as additional jar with classifies btm. All applications have been updated to make use of it when needed - hosted mode and tomcat. Commits: https://github.com/droolsjbpm/droolsjbpm-build-bootstrap/commit/a0b95a76db2b5fe400c7b087f759750cb4da376c https://github.com/droolsjbpm/jbpm/commit/5d91133a7a59aacc2a751881fd595513045963a5 https://github.com/droolsjbpm/jbpm-console-ng/commit/134938bd047b9fec0000b8843ad2c1ab7b07de41 https://github.com/droolsjbpm/kie-wb-distributions/commit/ec24157ad8ace3a1e6a2d46048937a68cc162482
Verified in ER2 (redhat-2).