Ecco come dichiaro un'origine dati Oracle (per chiamare pl o eseguire xqueries)
Iniezione dell'origine dati (in un ejb stateless)
@Resource(name = "java:jboss/datasources/xmlDatasource")
private DataSource productDS;
Dichiarazione dell'origine dati in standalone.xml
<datasource jndi-name="java:jboss/datasources/xmlDatasource" pool-name="xxx" enabled="true" use-java-context="true">
<connection-url>jdbc:oracle:thin:@xxx:1521:xxx</connection-url>
<driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
<driver>oracle</driver>
<pool>
<min-pool-size>0</min-pool-size>
<max-pool-size>10</max-pool-size>
</pool>
<security>
<user-name>xxx</user-name>
<password>xxx</password>
</security>
</datasource>
<drivers>
<driver name="oracle" module="oracle.jdbc">
<xa-datasource-class>oracle.jdbc.OracleDriver</xa-datasource-class>
</driver>
</drivers>
Definizione del modulo
<module xmlns="urn:jboss:module:1.1" name="oracle.jdbc">
<resources>
<resource-root path="ojdbc6.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
</dependencies>
</module>
Aggiungi la dipendenza del modulo alla mia applicazione ear (che ha l'ejb stateless all'interno..) usando maven (o modifica il tuo manifest.mf e aggiungi il nome del modulo)
<archive>
<manifestEntries>
<Dependencies>oracle.jdbc</Dependencies>
</manifestEntries>
</archive>