Bug 1035114 - ClassNotFoundException (WrappedConnectionJDK6) when deploying dashbuilder with Oracle 11gR2
Summary: ClassNotFoundException (WrappedConnectionJDK6) when deploying dashbuilder wit...
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: JBoss BPMS Platform 6
Classification: Retired
Component: BAM
Version: 6.0.0
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: ER6
: 6.0.0
Assignee: Roger Martínez
QA Contact: Jan Hrcek
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-11-27 06:21 UTC by Jan Hrcek
Modified: 2014-08-07 11:54 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2014-08-06 20:07:59 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
server.log with exceptions (125.87 KB, text/x-log)
2013-11-27 06:21 UTC, Jan Hrcek
no flags Details
server.log with never ending warning loop (193.17 KB, text/plain)
2013-11-27 12:29 UTC, Jiri Svitak
no flags Details

Description Jan Hrcek 2013-11-27 06:21:09 UTC
Created attachment 829575 [details]
server.log with exceptions

Description of problem:
There is an Exception when business-central is being deployed on EAP 6.1.1 with Oracle 11gR2 as a datasource.

Because of this error it it impossible to login to dashbuilder. Login screen is present, but when credentials are entered and login button clicked, the login screen remains and there is exception in server log (see attachment)


Version-Release number of selected component (if applicable):
BPMS 6.0.0 ER5
Oracle 11gR2

How reproducible:
Always

Steps to Reproduce:
1. Configure EAP 6.1.1 to use Oracle as datasource
2. try deploying BPMS 6.0.0 ER5 on it
3. try to login to dashbuilder

Actual results:
Error during deployment:

Error importing KPIs file (WEB-INF/etc/appdata/initialData/showcaseKPIs.xml) from initial module.: org.hibernate.HibernateException: Error in oracleNullSafeSet
... 
Caused by: java.lang.ClassNotFoundException: org.jboss.jca.adapters.jdbc.jdk6.WrappedConnectionJDK6 from [Module "deployment.dashbuilder.war:main" from Service Module Loader]


Expected results:
No exceptions in deployment and it should be possible to login to dashbuilder.

Additional info:
So far I've reproduced the problem on jenkins in 100% of cases (6 smoke test runs). I'll try to reproduce it locally and get back with more info if possible.

Comment 1 Jan Hrcek 2013-11-27 09:13:39 UTC
I managed to reproduce the problem locally. We think the problem might be caused by module declaration missing for module org.jboss.ironjacamar.jdbcadapters in the jboss-deployment-structure.xml.

Comment 2 Jiri Svitak 2013-11-27 12:29:54 UTC
Created attachment 829687 [details]
server.log with never ending warning loop

I've experienced also a never ending warning loop in ER5, when setup to use Oracle:

06:42:32,796 INFO  [org.jboss.as] (Controller Boot Thread) JBAS015874: JBoss Red Hat JBoss BPM Suite 6.0.0 Beta (AS 7.2.1.Final-redhat-10) started in 22414ms - Started 642 of 715 services (72 services are passive or on-demand)
06:42:34,099 WARN  [org.hibernate.loader.Loader] (pool-12-thread-1) HHH000444: Encountered request for locking however dialect reports that database prefers locking be done in a separate select (follow-on locking); results will be locked after initial query executes
06:42:37,096 WARN  [org.hibernate.loader.Loader] (pool-12-thread-1) HHH000444: Encountered request for locking however dialect reports that database prefers locking be done in a separate select (follow-on locking); results will be locked after initial query executes
...

Attaching the log with warning loop.

Comment 3 Roger Martínez 2013-11-29 18:22:08 UTC
We have seen that the skinny war for the eap modules (https://github.com/droolsjbpm/kie-wb-distributions/tree/master/kie-eap-integration/kie-eap-integration-distributions/kie-eap-integration-bpms) is missing the dependency to the "org.jboss.ironjacamar.jdbcadapters" module.

So I have added the missing dependencies:
 - Master commit: https://github.com/droolsjbpm/kie-wb-distributions/commit/f7891c4d1f38211960e250304f76142c8ea31dff
 - 6.0.X commit: https://github.com/droolsjbpm/kie-wb-distributions/commit/8b77516d45a8fbc3f5e7f6b7f807db8b47d19855

Anyway, the bug cannot be closed until we have tested it using an Oracle database.

So, it's still pending to test using Oracle:
 - The standalone war application
 - The war application using EAP static modules

Comment 4 David Gutierrez 2013-12-09 18:03:01 UTC
Fixed & verified on EAP 6.1.1.

Comment 5 Jan Hrcek 2013-12-20 19:41:18 UTC
Ok, verified with BPMS 6.0.0 ER6 deployed on EAP 6.1.1

Comment 6 Andreas Diestelmann 2014-04-24 11:39:24 UTC
Still not working on BPM 6.0.1 on jboss-eap-6.1.1

[[0m13:09:19,947 INFO  [org.jboss.dashboard.workspace.GraphicElementManagerImpl] (ServerService Thread Pool -- 53) Deploying to database Layout /srv/jboss-eap-6.1/standalone/deployments/dashbuilder.war/./WEB-INF/etc/layouts/Template_25-75.zip
[[31m13:09:19,974 ERROR [org.jboss.dashboard.error.ErrorManager] (ServerService Thread Pool -- 53) UNEXPECTED ERROR.
Thread id=ServerService Thread Pool -- 53
Thread begin date=Thu Apr 24 13:09:16 CEST 2014
Thread group=ServerService ThreadGroup
Tx id=667975824
Tx Isolation=2
Tx Auto commit=false
Error id=1398337759972
Error date=Thu Apr 24 13:09:19 CEST 2014
Error stack trace=java.lang.ClassNotFoundException: oracle.sql.BLOB from [Module "deployment.dashbuilder.war:main" from Service Module Loader]
        at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:196)
        at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:444)
        at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:432)
        at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:374)
        at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:119)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:190)

Same datasource works for business-central.

Comment 7 Jan Hrcek 2014-04-24 19:50:22 UTC
Andreas, I believe your error from comment 6 is not the same that was being solved in this bugzilla. Your error is actually caused by incomplete database configuration.

In order to setup dashbuilder to work with Oracle database you need to:
1) Install the Oracle JDBC driver as a module in EAP 6.1.1 (for example see [1])
2) Declare dependency on that module in jboss-eap-6.1/standalone/deployments/dashbuilder.war/WEB-INF/jboss-deployment-structure.xml
Providing you name the oracle jdbc driver module like "com.oracle" you will need to add the following line to that file, just before the </dependencies> tag:

<module name="com.oracle"/>

With these steps dashbuilder will be able to find the class oracle.sql.BLOB and all the other required classes needed to work with Oracle db.

[1]: https://access.redhat.com/site/documentation/en-US/JBoss_Enterprise_Application_Platform/6/html/Administration_and_Configuration_Guide/Install_a_JDBC_Driver_as_a_Core_Module1.html

Comment 8 Andreas Diestelmann 2014-04-25 09:46:50 UTC
(In reply to Jan Hrcek from comment #7)
... 

Thx, Jan, you're right, it was incomplete configuration.

The oracle jdbc driver module was installed as "com.oracle.ojdbc6" and the business-central.war worked with it; only dashbuilder.war was not working.

But i didn't fulfill the dependency declaration in 

> jboss-eap-6.1/standalone/deployments/dashbuilder.war/WEB-INF/jboss-
> deployment-structure.xml

I added this line:

<module name="com.oracle.ojdbc6" export="true" services="import" meta-inf="import"/>

in the dependencies declaration and now it works.

This configuration step should be added to the documentation of "Jboss BPM Administration and Configuration Guide."

https://access.redhat.com/site/documentation/en-US/Red_Hat_JBoss_BPM_Suite/6.0/html-single/Administration_And_Configuration_Guide/#chap-Business_Central_configuration


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