-
1. Re: JDBC driver in EAR does not work with Wildfly
lafr Oct 14, 2013 10:56 AM (in response to paul_alesius)When deploying your ear, you see something similar to
06:32:03,728 INFO [org.jboss.as.connector.deployers.jdbc#start] JBAS010417: Started Driver service with driver-name = ojdbc6.jar ?
There is the name of the driver to use.
If not, the problem might be, that the driver inside ear is not recognized.
-
2. Re: JDBC driver in EAR does not work with Wildfly
paul_alesius Oct 14, 2013 3:37 PM (in response to lafr)Nope, not with pgsql, I see that only when deploying the driver separately from the ear. I want it inside the ear.
There's this bug where they supposedly fixed it but FML I can't get it to work, and it has worked before on jboss as 7.1.
[WFLY-1269] single jdbc driver deployed inside ear takes name of ear - JBoss Issue Tracker
-
3. Re: JDBC driver in EAR does not work with Wildfly
lafr Oct 14, 2013 4:51 PM (in response to paul_alesius)So you already know how to find out the real name.
My ear file is named hgm2e-langfr-sb2000-ipc.ear and now temporary contains postgresql-9.2-1003.jdbc4.jar in lib folder.
Using current WildFly 8.0.0-Beta2-SNAPSHOT the resulting name is then hgm2e-langfr-sb2000-ipc.ear_org.postgresql.Driver_9_2 as you can see:
{ "driver-name" => "hgm2e-langfr-sb2000-ipc.ear_org.postgresql.Driver_9_2", "deployment-name" => "hgm2e-langfr-sb2000-ipc.ear_org.postgresql.Driver_9_2", "driver-module-name" => undefined, "module-slot" => undefined, "driver-datasource-class-name" => undefined, "driver-xa-datasource-class-name" => undefined, "driver-class-name" => "org.postgresql.Driver", "driver-major-version" => 9, "driver-minor-version" => 2, "jdbc-compliant" => false } -
4. Re: JDBC driver in EAR does not work with Wildfly
paul_alesius Oct 14, 2013 8:33 PM (in response to lafr)Thanks for the reply.
If I look into the dir wildfly/standalone/deployments, I see the directoy: "com.mycompany.ear".
The driver jar exists in wildfly/standalone/deployments/com.mycompany.ear/lib/postgresql-9.2-1003-jdbc4.jar
This would imply that in jboss-ds.xml, the <xa-datasource> <driver> definition should look as such:
<driver>com.mycompany.ear_org.postgresql.Driver_9_2</driver>
This does not work, and I get:
JBAS014775: New missing/unsatisfied dependencies:
service jboss.jdbc-driver.com_mycompany_ear_org_postgresql_Driver_9_2 (missing) dependents: [service jboss.data-source.java:jboss/datasources/myxadatasource]
It looks like a bug to me, I don't get how they managed to get it to work in that bug report.
Also, how do you list the drivers in the ear to get that info?
Thank you.
-
5. Re: JDBC driver in EAR does not work with Wildfly
lafr Oct 15, 2013 2:59 AM (in response to paul_alesius)As written in the mentioned JIRA.
Use jboss-cli.sh (.bat) (e.g. jboss-cli.sh --controller=localhost:9990 --connect). Then "/subsystem=datasources:installed-drivers-list".
And as already said, you should see messages like these from my test yesterday evening:
14.10. 22:42:30,578 INFO [org.jboss.as.connector.deployers.jdbc#deploy] JBAS010404: Deploying non-JDBC-compliant driver class org.postgresql.Driver (version 9.2)
...
14.10. 22:42:39,900 INFO [org.jboss.as.connector.deployers.jdbc#start] JBAS010417: Started Driver service with driver-name = hgm2e-langfr-sb2000-ipc.ear_org.postgresql.Driver_9_2
As long as you do not get such messages the driver is not deployed.
With exploded deployments (ear / war) there have been some problems in the past, behaving different then a deployed file ear file. Could you build an ear file and deploy this instead of ear directory?
-
6. Re: Re: JDBC driver in EAR does not work with Wildfly
paul_alesius Oct 15, 2013 3:10 PM (in response to lafr)Thanks for the reply.
You're right! When I deploy it as a packaged EAR, it finds the driver:
(MSC service thread 1-5) JBAS010404: Deploying non-JDBC-compliant driver class org.postgresql.Driver (version 9.2)
When I deploy in eclipse during development, it is never found and I get missing dependency warning. This is ofc. problematic for development. I created a simple empty ear, and added postgre dependency to it.
Filing a bug report.