Oracle
 sql >> Database >  >> RDS >> Oracle

Fusibile origine dati di base 6.3 dbcp

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