Questo per fare una piccola introduzione, altre info qui: http://www.jboss.org/as7 dove è anche possibile scaricare l'application server e trovare la documentazione completa.
La configurazione in jboss as 7 è demandata ad un solo file, nel nostro esempio useremo la modalita standalone, ma lo stesso metodo potrebbe anche essere applicato alla domain. Il file in questione è: $JBOSS_HOME/standalone/configuration/standalone.xml.
Prima di andare a definire il nostro datasource, però, bisogna installare i driver jdbc del dbms che ci interessa, in questo caso mysql. I driver in questione verranno installati come modulo dell'application server, anche se ci sono offerte altre possibilità (come si può vedere in una panoramica più ampia qui). Questa modalità non è consigliata nel caso si stia gestendo un dominio, per quello è consigliato il deploy diretto dei driver (che devono essere jdbc-4 compliant, anche se c'è un metodo per renderli tali) tramite cli o web console.
Prendiamo il file mysql-connector-java-5.1.18-bin.jar (o la versione che si desidera, ricordandosi di referenziarla correttamente nel module.xml) che possiamo scaricare qui e copiamolo nella cartella: $JBOSS_HOME/modules/com/mysql/jdbc/main, se non esiste va creata.
A questo punto va creato il file module.xml, nella stessa cartella dove abbiamo copiato i driver. Il file dovrà essere come di seguito:
<?xml version="1.0" encoding="UTF-8"?> <module xmlns="urn:jboss:module:1.0" name="com.mysql.jdbc"> <resources> <resource-root path="mysql-connector-java-5.1.18-bin.jar"/> <!-- Insert resources here --> </resources> <dependencies> <module name="javax.api"/> <module name="javax.transaction.api"/> </dependencies> </module>
Fatto ciò resta l'ultimo passo da fare: definire il datasource vero e proprio. Questo si deve fare nel file standalone.xml. Qui sotto la parte relativa alla configurazione definita nel sottosistema realtivo ai ds:
<subsystem xmlns="urn:jboss:domain:datasources:1.0"> <datasources> <datasource jndi-name="java:jboss/datasources/ExampleDS" pool-name="H2DS" enabled="true" jta="true" use-java-context="true" use-ccm="true"> <connection-url> jdbc:h2:mem:test;DB_CLOSE_DELAY=-1 </connection-url> <driver> h2 </driver> <pool> <prefill> false </prefill> <use-strict-min> false </use-strict-min> <flush-strategy> FailingConnectionOnly </flush-strategy> </pool> <security> <user-name> sa </user-name> <password> sa </password> </security> </datasource> <datasource jndi-name="java:jboss/datasources/exampleDS" pool-name="waauDS" enabled="true" jta="true" use-java-context="true" use-ccm="true"> <connection-url> jdbc:mysql://localhost:3306/example </connection-url> <driver> mysql </driver> <transaction-isolation> TRANSACTION_READ_COMMITTED </transaction-isolation> <pool> <min-pool-size> 10 </min-pool-size> <max-pool-size> 100 </max-pool-size> <prefill> true </prefill> <use-strict-min> false </use-strict-min> <flush-strategy> FailingConnectionOnly </flush-strategy> </pool> <security> <user-name> user </user-name> <password> password </password> </security> <statement> <prepared-statement-cache-size> 32 </prepared-statement-cache-size> <share-prepared-statements/> </statement> </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.jdbc"> <xa-datasource-class> com.mysql.jdbc.jdbc2.optional.MysqlXADataSource </xa-datasource-class> </driver> </drivers> </datasources> </subsystem>
Le parti relativa ad exampleDS e ai driver mysql sono quelle da aggiungere alla configurazione di base del file, ricordandosi di sostituire user e password con i dati relativi all'account e l'host con quello dove risiede il db. Ovviamente in base alle esigenze si può fare tutto il tuning desiderato cambiando i vari parametri, ma per quello vi rimando alla documentazione ufficiale.
Nessun commento:
Posta un commento