Voici comment je déclare une source de données Oracle (pour appeler pl ou exécuter xqueries)
Injection de la source de données (dans un ejb sans état)
@Resource(name = "java:jboss/datasources/xmlDatasource")
private DataSource productDS;
Déclarer la source de données dans 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>
Définition du module
<module xmlns="urn:jboss:module:1.1" name="oracle.jdbc">
<resources>
<resource-root path="ojdbc6.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
</dependencies>
</module>
Ajoutez la dépendance du module à mon application ear (qui contient l'ejb sans état à l'intérieur..) en utilisant maven (ou modifiez votre manifest.mf et ajoutez le nom du module)
<archive>
<manifestEntries>
<Dependencies>oracle.jdbc</Dependencies>
</manifestEntries>
</archive>