Sto usando ojdbc6-11.2.0.3.jar
e il driver funziona in entrambe le configurazioni.
L'ho testato con una query da JBoss Fuse Console
jdbc:query jdbc/oracle 'select * from somewhere.sometable WHERE rownum < 5'
Verifica che JDBC e JNDI siano installati
features:install jdbc
features:install jndi
Puoi trascinare un file XML con il seguente contenuto in deploy/
per avere automaticamente un'origine dati distribuita.
OracleDataSource
<?xml version="1.0" encoding="UTF-8"?>
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0">
<bean id="oracleDSTest" class="oracle.jdbc.pool.OracleDataSource"
destroy-method="close">
<property name="URL" value="jdbc:oracle:thin:@db.host:1521:SID" />
<property name="user" value="UrName" />
<property name="password" value="YourPasswrd" />
</bean>
<service interface="javax.sql.DataSource" ref="oracleDSTest">
<service-properties>
<entry key="osgi.jndi.service.name" value="jdbc/oracle" />
<entry key="datasource.name" value="oracleDSTest" />
</service-properties>
</service>
</blueprint>
Fonte dati di base
<bean id="oracleDSTest" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
<property name="url" value="jdbc:oracle:thin:@db.host:1521:SID"/>
<property name="username" value="UrName"/>
<property name="password" value="YourPasswrd"/>
<property name="maxIdle" value="5" />
<property name="minIdle" value="1" />
<property name="initialSize" value="1" />
</bean>
<service interface="javax.sql.DataSource" ref="oracleDSTest">
<service-properties>
<entry key="osgi.jndi.service.name" value="jdbc/oracle" />
<entry key="datasource.name" value="oracleDSTest" />
</service-properties>
</service>
Caricamento della classe
Tieni presente che questa versione del driver Oracle JDBC non OSGi ready. Per far funzionare tutto sotto OSGi potresti voler esportare le classi Oracle dal bundle di sistema.
Copia ojdbc6-11.2.0.3.jar
(o la tua versione) su lib/
cartella di JBoss Fuse.
Modifica etc/config.properties
e aggiungi i pacchetti a org.osgi.framework.system.packages
proprietà
org.osgi.framework.system.packages= \
other.packages.here, \
oracle.jdbc;version="11.2.0.3", \
oracle.jdbc.driver;version="11.2.0.3", \
oracle.jdbc.pool;version="11.2.0.3", \
some.other.stuff
Riavvia e verifica con exports | grep oracle
JBossFuse:[email protected]> exports | grep oracle
0 oracle.jdbc; version=11.2.0.3
0 oracle.jdbc.driver; version=11.2.0.3
0 oracle.jdbc.pool; version=11.2.0.3