JBoss 7 üzerinde çalışan bir web projesinden SQL Server'e bağlanmak için aşağıdakileri yapmak gerekmektedir :
SQL Server Sürücüsün Module Olarak Eklenmesi
SQL Server sürücüsü (örneğin sqljdbc4.jar) aşağıdaki klasöre eklenmelidir :
[jbosspath]\modules\com\microsoft\sqlserver\jdbc\main
Aynı klasöre module.xml adında aşağıdaki içeriğe sahip bir XML dosyası eklenmelidir :
<module xmlns="urn:jboss:module:1.0" name="com.microsoft.sqlserver.jdbc">
<resources>
<resource-root path="sqljdbc4.jar">
</resource-root></resources>
<dependencies>
<module name="javax.api"></module>
<module name="javax.transaction.api"></module>
<module name="javax.servlet.api" optional="true"></module>
</dependencies>
</module>
SQL Server Driver'ının Konfügürasyona Eklenmesi
SQL Server 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="sqlserver" module="com.microsoft.sqlserver.jdbc">
<xa-datasource-class>com.microsoft.sqlserver.jdbc.SQLServerXADataSource</xa-datasource-class>
</driver>
module="com.microsoft.sqlserver.jdbc" içinde geçen com.microsoft.sqlserver.jdbc ismi , module.xml içinde geçen isimle aynısıdır
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:sqlserver://ip:port;databaseName=testdb
</connection-url>
<driver>
sqlserver
</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