Reputation: 109
I am using jboss as 7.1.1 final
release. I am trying to add mysql driver
to the server via the admin console. I am able to do so but when I go to create the datasources, I do not find the driver listed there. I followed the steps to add the driver to the server as mentioned in this link :
http://www.appeon.com/support/documents/appeon_online_help/1.5/server_configuration_guide_for_j2ee/ch03s03s03.html#d0e4128
I followed from step 3 of Installing a JDBC driver via the Web console as I had already created one management user.To summarize what I did,
I added a driver file E:\DevSoftwares\servers\jboss\jboss-as-7.1.1.Final\modules\com\mysql\main\META-INF\services\java.sql.Driver
and its content as following : com.mysql.jdbc.jdbc2.optional.MysqlXADataSource
(fully qualified driver class name).
create module.xml file inside E:\DevSoftwares\servers\jboss\jboss-as-7.1.1.Final\modules\com\mysql\main\
and its content as below :
Added mysql-connector-java-5.0.8-bin.jar
file inside E:\DevSoftwares\servers\jboss\jboss-as-7.1.1.Final\modules\com\mysql\main\
Ran jar -uf mysql-connector-java-5.0.8-bin.jar
META-INF\services\java.sql.Driver
command to modify the jar.
After running this command I could see a services\java.sql.Driver
file with driver class name as given in step 1 inside META-INF folder of the jar file which was not there before running the command.
I picked up the fully qualified name of the driver class for mysql for Jboss 7.x from below link : http://www.appeon.com/support/documents/appeon_online_help/1.5/server_configuration_guide_for_j2ee/ch03s03s07.html#d0e5769
I was able to figure out what is causing the problem, when I try to enable the deployed jar I get an exception in the server console stating : unable to instantiate driver class com.mysql.jdbc.jdbc2.optional.MysqlXADataSource
:
java/lang.ClassCastException : com.mysql.jdbc.jdbc2.optional.MysqlXADataSource.
However I checked the mysql-connector-java-5.0.8-bin.jar
and was able to find the driver class mentioned above in the same directory structure as the classes fully qualified name.
I am not able to figure out why I am getting this exception or what I am doing wrong during the setup that is causing this issue.The platform I am using is windows. Could some one please help me with it.
NOTE : the content of module.xml
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.0" name="com.mysql">
<resources>
<resource-root path="mysql-connector-java-5.0.8-bin.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
<module name="javax.transaction.api"/>
</dependencies>
</module>`
Upvotes: 0
Views: 702
Reputation: 2652
Please check that you have added your MySQL datasource configuration in standalone.xml
or in equivalent XML file:-
<subsystem xmlns="urn:jboss:domain:datasources:1.0">
<datasources>
<datasource jndi-name="java:jboss/datasources/ExampleDS" pool-name="ExampleDS" enabled="true" use-java-context="true">
<connection-url>jdbc:h2:mem:test;DB_CLOSE_DELAY=-1</connection-url>
<driver>h2</driver>
<security>
<user-name>sa</user-name>
<password>sa</password>
</security>
</datasource>
<datasource jndi-name="java:jboss/datasources/MySqlExampleDS" pool-name="MySqlExampleDS" enabled="true" use-java-context="true">
<connection-url>jdbc:mysql://localhost:3306/jboss7db</connection-url>
<driver>mysql</driver>
<pool>
<max-pool-size>30</max-pool-size>
</pool>
<security>
<user-name>root</user-name>
<password>admin</password>
</security>
</datasource>
<drivers>
<driver name="h2" module="com.h2database.h2">
<xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class>
</driver>
<driver name="mysql" module="com.mysql">
<xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</xa-datasource-class>
</driver>
</drivers>
</datasources>
</subsystem>
Upvotes: 1