JBoss 7 - Bonita 7.1.0 - ClassNotFoundException and NoClassDefFoundError

1
+1
-1

Hello,

I currently have several problem with a process. This process contains a step using the Bonita's Jasper connector (un-modified) which creates a PDF export.
I just have to import jasperreports-fonts-6.2.0.jar and sqljdbc4.jar through Process dependencies.

This process works great in Studio : everything is OK, PDF is created and filled by Jasper.

But a problem occurs as soon as I try to use the process on my Production server (JbBoss, 2008 R2, SQL Server and Bonita 7.1.0).
The Jasper step throws a ClassNotFoundException :

*Caused by: java.lang.NoClassDefFoundError: net/sf/jasperreports/engine/JasperCompileManager
at org.bonitasoft.connectors.jasper.CreateReportFromDataBase.createJasperReportFromDataBase(CreateReportFromDataBase.java:306)
at org.bonitasoft.connectors.jasper.CreateReportFromDataBase.executeBusinessLogic(CreateReportFromDataBase.java:211)
at org.bonitasoft.engine.connector.AbstractConnector.execute(AbstractConnector.java:77) [bonita-common-sp-7.1.0.jar:]
at org.bonitasoft.engine.core.connector.impl.SConnectorAdapter.execute(SConnectorAdapter.java:69) [bonita-server-sp-7.1.0.jar:]
at org.bonitasoft.engine.connector.impl.ConnectorExecutorImpl$ExecuteConnectorCallable.call(ConnectorExecutorImpl.java:208) [bonita-server-sp-7.1.0.jar:]
at org.bonitasoft.engine.connector.impl.ConnectorExecutorImpl$ExecuteConnectorCallable.call(ConnectorExecutorImpl.java:179) [bonita-server-sp-7.1.0.jar:]
at java.util.concurrent.FutureTask.run(Unknown Source) [rt.jar:1.7.0_67]
... 3 more
Caused by: java.lang.ClassNotFoundException: net.sf.jasperreports.engine.JasperCompileManager from [Module "deployment.bonita-all-in-one-7.1.0.ear:main" from Service Module Loader]
at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190)
at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:468)
at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:456)
at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398)
at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:120)
at org.bonitasoft.engine.classloader.VirtualClassLoader.loadClass(VirtualClassLoader.java:59) [bonita-server-sp-7.1.0.jar:]
at org.bonitasoft.engine.classloader.ParentRedirectClassLoader.loadClass(ParentRedirectClassLoader.java:42) [bonita-server-sp-7.1.0.jar:]
at org.bonitasoft.engine.classloader.BonitaClassLoader.loadClass(BonitaClassLoader.java:150) [bonita-server-sp-7.1.0.jar:]
at org.bonitasoft.engine.classloader.VirtualClassLoader.loadClass(VirtualClassLoader.java:57) [bonita-server-sp-7.1.0.jar:]
at org.bonitasoft.engine.classloader.ParentRedirectClassLoader.loadClass(ParentRedirectClassLoader.java:42) [bonita-server-sp-7.1.0.jar:]
at org.bonitasoft.engine.classloader.BonitaClassLoader.loadClass(BonitaClassLoader.java:150) [bonita-server-sp-7.1.0.jar:]
at java.lang.ClassLoader.loadClass(Unknown Source) [rt.jar:1.7.0_67]
... 10 more
*
This looks strange, because the jasperreports.jar file should already be present in my classpath, as I use the Jasper connector... (I can see multiple jasperreports-5.1.0.jar files present under standalone/tmp/vfs/deployment01212125 folders).
Why does Bonita can't find them?

So, to fix this issue, I imported jasperreports-6.2.0.jar through Process dependencies :

mini_420129Capture.png

Which worked... But lead to another jar problem!
This problem is the same, but Bonita now can't find org/apache/commons/digester/Digester, which is present in my JBoss directory!
mini_359448Capture.png

Logs :
17:08:00,966 ERROR [org.bonitasoft.engine.execution.work.FailureHandlingBonitaWork] (Bonita-Worker-1-02) THREAD_ID=145 | HOSTNAME=srv0192 | TENANT_ID=1 | The work [ExecuteConnectorOfActivity: flowNodeInstanceId = 540006, connectorDefinitionName = Jasper PDF Creation] failed. The failure will be handled.
17:08:01,044 WARNING [org.bonitasoft.console.common.server.page.ResourceRenderer] (http--10.11.255.26-443-12) Cannot find the resource file D:\Bonita7.1.0\bonita\client\tenants\1\work\pages\custompage_defaultlayout\resources\assets\json\localization.json
17:08:01,087 ERROR [org.bonitasoft.engine.execution.work.FailureHandlingBonitaWork] (Bonita-Worker-1-02) THREAD_ID=145 | HOSTNAME=srv0192 | TENANT_ID=1 | org.bonitasoft.engine.core.connector.exception.SConnectorException : "PROCESS_DEFINITION_ID=6006041178044469281 | PROCESS_NAME=Changement d'affectation d'un employé v1 | PROCESS_VERSION=1.0 | PROCESS_INSTANCE_ID=27001 | ROOT_PROCESS_INSTANCE_ID=27001 | FLOW_NODE_DEFINITION_ID=6222510566248366366 | FLOW_NODE_INSTANCE_ID=540006 | FLOW_NODE_NAME=Jasper PDF Creation | CONNECTOR_DEFINITION_IMPLEMENTATION_CLASS_NAME=Jasper PDF Creation | CONNECTOR_INSTANCE_ID=540004 | org.bonitasoft.engine.connector.exception.SConnectorException: java.util.concurrent.ExecutionException: java.lang.NoClassDefFoundError: org/apache/commons/digester/Digester": org.bonitasoft.engine.core.connector.exception.SConnectorException: PROCESS_DEFINITION_ID=6006041178044469281 | PROCESS_NAME=Changement d'affectation d'un employé v1 | PROCESS_VERSION=1.0 | PROCESS_INSTANCE_ID=27001 | ROOT_PROCESS_INSTANCE_ID=27001 | FLOW_NODE_DEFINITION_ID=6222510566248366366 | FLOW_NODE_INSTANCE_ID=540006 | FLOW_NODE_NAME=Jasper PDF Creation | CONNECTOR_DEFINITION_IMPLEMENTATION_CLASS_NAME=Jasper PDF Creation | CONNECTOR_INSTANCE_ID=540004 | org.bonitasoft.engine.connector.exception.SConnectorException: java.util.concurrent.ExecutionException: java.lang.NoClassDefFoundError: org/apache/commons/digester/Digester
at org.bonitasoft.engine.core.connector.impl.ConnectorServiceImpl.executeConnectorInClassloader(ConnectorServiceImpl.java:325) [bonita-server-sp-7.1.0.jar:]
at org.bonitasoft.engine.core.connector.impl.ConnectorServiceImpl.executeConnector(ConnectorServiceImpl.java:143) [bonita-server-sp-7.1.0.jar:]
at org.bonitasoft.engine.connector.ConnectorServiceDecorator.executeConnector(ConnectorServiceDecorator.java:111) [bonita-server-sp-7.1.0.jar:]
at org.bonitasoft.engine.execution.work.ExecuteConnectorWork.work(ExecuteConnectorWork.java:131) [bonita-server-sp-7.1.0.jar:]
at org.bonitasoft.engine.execution.work.failurewrapping.TxInHandleFailureWrappingWork.work(TxInHandleFailureWrappingWork.java:42) [bonita-server-sp-7.1.0.jar:]
at org.bonitasoft.engine.execution.work.failurewrapping.TxInHandleFailureWrappingWork.work(TxInHandleFailureWrappingWork.java:42) [bonita-server-sp-7.1.0.jar:]
at org.bonitasoft.engine.execution.work.failurewrapping.TxInHandleFailureWrappingWork.work(TxInHandleFailureWrappingWork.java:42) [bonita-server-sp-7.1.0.jar:]
at org.bonitasoft.engine.execution.work.failurewrapping.TxInHandleFailureWrappingWork.work(TxInHandleFailureWrappingWork.java:42) [bonita-server-sp-7.1.0.jar:]
at org.bonitasoft.engine.execution.work.FailureHandlingBonitaWork.work(FailureHandlingBonitaWork.java:66) [bonita-server-sp-7.1.0.jar:]
at org.bonitasoft.engine.work.BonitaWork.run(BonitaWork.java:56) [bonita-server-sp-7.1.0.jar:]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_80]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_80]
at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_80]
Caused by: org.bonitasoft.engine.connector.exception.SConnectorException: java.util.concurrent.ExecutionException: java.lang.NoClassDefFoundError: org/apache/commons/digester/Digester
at org.bonitasoft.engine.connector.impl.ConnectorExecutorImpl.execute(ConnectorExecutorImpl.java:128) [bonita-server-sp-7.1.0.jar:]
at org.bonitasoft.engine.core.connector.impl.ConnectorServiceImpl.executeConnectorInClassloader(ConnectorServiceImpl.java:317) [bonita-server-sp-7.1.0.jar:]
... 12 more
Caused by: java.util.concurrent.ExecutionException: java.lang.NoClassDefFoundError: org/apache/commons/digester/Digester
at java.util.concurrent.FutureTask.report(FutureTask.java:122) [rt.jar:1.7.0_80]
at java.util.concurrent.FutureTask.get(FutureTask.java:202) [rt.jar:1.7.0_80]
at com.bonitasoft.engine.connector.impl.ConnectorExecutorTimedOut.getValue(ConnectorExecutorTimedOut.java:54) [bonita-server-sp-7.1.0.jar:]
at org.bonitasoft.engine.connector.impl.ConnectorExecutorImpl.execute(ConnectorExecutorImpl.java:122) [bonita-server-sp-7.1.0.jar:]
... 13 more
Caused by: java.lang.NoClassDefFoundError: org/apache/commons/digester/Digester
at net.sf.jasperreports.engine.JasperCompileManager.compile(JasperCompileManager.java:341)
at net.sf.jasperreports.engine.JasperCompileManager.compileReport(JasperCompileManager.java:608)
at org.bonitasoft.connectors.jasper.CreateReportFromDataBase.createJasperReportFromDataBase(CreateReportFromDataBase.java:306)
at org.bonitasoft.connectors.jasper.CreateReportFromDataBase.executeBusinessLogic(CreateReportFromDataBase.java:211)
at org.bonitasoft.engine.connector.AbstractConnector.execute(AbstractConnector.java:77) [bonita-common-sp-7.1.0.jar:]
at org.bonitasoft.engine.core.connector.impl.SConnectorAdapter.execute(SConnectorAdapter.java:69) [bonita-server-sp-7.1.0.jar:]
at org.bonitasoft.engine.connector.impl.ConnectorExecutorImpl$ExecuteConnectorCallable.call(ConnectorExecutorImpl.java:208) [bonita-server-sp-7.1.0.jar:]
at org.bonitasoft.engine.connector.impl.ConnectorExecutorImpl$ExecuteConnectorCallable.call(ConnectorExecutorImpl.java:179) [bonita-server-sp-7.1.0.jar:]
at java.util.concurrent.FutureTask.run(FutureTask.java:262) [rt.jar:1.7.0_80]
... 3 more
Caused by: java.lang.ClassNotFoundException: org.apache.commons.digester.Digester from [Module "deployment.bonita-all-in-one-7.1.0.ear:main" from Service Module Loader]
at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190)
at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:468)
at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:456)
at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398)
at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:120)
at org.bonitasoft.engine.classloader.VirtualClassLoader.loadClass(VirtualClassLoader.java:59) [bonita-server-sp-7.1.0.jar:]
at org.bonitasoft.engine.classloader.ParentRedirectClassLoader.loadClass(ParentRedirectClassLoader.java:42) [bonita-server-sp-7.1.0.jar:]
at org.bonitasoft.engine.classloader.BonitaClassLoader.loadClass(BonitaClassLoader.java:150) [bonita-server-sp-7.1.0.jar:]
at org.bonitasoft.engine.classloader.VirtualClassLoader.loadClass(VirtualClassLoader.java:57) [bonita-server-sp-7.1.0.jar:]
at org.bonitasoft.engine.classloader.ParentRedirectClassLoader.loadClass(ParentRedirectClassLoader.java:42) [bonita-server-sp-7.1.0.jar:]
at org.bonitasoft.engine.classloader.BonitaClassLoader.loadClass(BonitaClassLoader.java:150) [bonita-server-sp-7.1.0.jar:]
at java.lang.ClassLoader.loadClass(ClassLoader.java:358) [rt.jar:1.7.0_80]
... 12 more

So, I did the same thing as for jasperreports and added the commons.digester.jar file into Process Directory (tried with 2.1 and 3.2 versions), I also tried by putting this jar into Application dependencies (and of course rebuilt and redeployed the process) but nothing works... I always have the same error message :(

Can somebody help me?

Thank you!

No answers yet.
Notifications