GirişUygulamadan bir DataSource'a erişmek için 3 tane yöntem var.
1. Uygulama içinde tanımlanır
2. Wildfly Üzerinde Modul Olarak Tanımlanır Ancak Wildfly Ayarlarına Driver Eklenmez
3. Wildfly Üzerinde Modul Olarak Tanımlanır ve Wildfly Ayarlarına Driver + DataSource eklenir. Uygulama JNDI üzerinden erişir.
1. Uygulama içinde tanımlanır
Bu belki de en kolay yöntem. Böylece diğer hiç bir uygulamayı etkilememiş oluruz
Örnek
app-deployment.war
|_WEB-INF
|_lib
|_postgresql-42.2.5.jar (example version)
2. Wildfly Üzerinde Modul Olarak Tanımlanır Ancak Wildfly Ayarlarına Driver Eklenmez
Örnek
Burada önce module dizini yaratılır. Şöyle
yaparızmodules
|_org
|_postgresql
|_main
|_postgresql-42.2.5.jar
|_module.xml
Daha sonra module.xml içinde şöyle
yaparız<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.7" name="org.postgresql">
<resources>
<resource-root path="postgresql-42.2.5.jar.jar"/>
</resources>
<dependencies>
<module name=""/>
...
</dependencies>
</module>
Bu module' ü kendi uygulamamızda kullanmak için şöyle
yaparız<?xml version='1.0' encoding='UTF-8'?>
<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.2">
<deployment>
<dependencies>
...
<module name="org.postgresql"/>
...
</dependencies>
</deployment>
</jboss-deployment-structure>
Örnek - Oracle 8
module.xml içinde şöyle yaparız
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.5" name="com.oracle">
<resources>
<resource-root path="ojdbc8.jar"/>
<resource-root path="orai18n.jar"/>
<resource-root path="ucp.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
<module name="javax.transaction.api"/>
</dependencies>
</module>Örnek - Oracle 7
<?xml version="1.0" encoding="UTF-8"?>
<module name="com.oracle" xmlns="urn:jboss:module:1.1">
<resources>
<resource-root path="ojdbc7.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
<module name="javax.transaction.api"/>
</dependencies>
</module>