JBoss 7 üzerinde çalışan bir web projesinden MySQL'e bağlanmak için aşağıdakileri yapmak gerekmektedir :
MySQL Sürücüsün Module Olarak Eklenmesi
MySQL sürücüsü (örneğin mysql-connector-java-5.1.15.jar) aşağıdaki klasöre eklenmelidir :
jboss path\modules\com\mysql\main
Aynı klasöre module.xml adında aşağıdaki içeriğe sahip bir XML dosyası eklenmelidir :
<!--?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.1.15.jar"></resource-root>
</resources>
<dependencies>
<module name="javax.api"></module>
</dependencies>
</module>
MySQL Driver'ı Konfügürasyona Eklenmesi
MySQL sürücü konfigurasyon dosyasına eklenmelidir. standalone için konfigurasyon dosyasının path'i :
jboss path\standalone\configuration\standalone.xml
şeklindedir. Bu XML dosyadaki drivers elementinin içinde aşağıdaki gibi driver tanımı eklenir :
<driver name="com.mysql" module="com.mysql">
<xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</xa-datasource-class>
module="com.mysql" içinde geçen com.mysql ismi , module.xml içinde geçen isimle aynısıdır
header:/Veritabanı İçin DataSource Tanımı Eklenmesi
Veritabanına bağlanmak için veritabanı için bir DataSource yaratabilirsiniz. Bunun için DataSource tanımı standalone.xml içindeki datasources elementi içinde eklenmelidir.
<datasource jndi-name="java:jboss/datasources/testdb" pool-name="testdb" enabled="true" jta="true" use-java-context="true" use-ccm="true">
<connection-url>jdbc:mysql://ip:port/testdb</connection-url>
<driver>com.mysql</driver>
<pool>
<min-pool-size>1</min-pool-size>
<max-pool-size>10</max-pool-size>
</pool>
<security>
<user-name>root</user-name>
<password>XXX</password>
</security>
</datasource>
Yukarıda testdb, ip , port , şifre bölümlerine uygun değerleri girmeniz gerekir
Yukarıdaki tanımlamalar yapıldıktan sonra aşağıdaki gibi bağlantı yapabilirsiniz :
String dataSourceJndiName="java:jboss/datasources/testdb";
Context initialContext=new InitialContext();
DataSource dataSource=(DataSource)initialContext.lookup(dataSourceJndiName);
Connection connection = dataSource.getConnection();
// Connection alindi