sql >> Base de Datos >  >> RDS >> Oracle

Fuente de datos básica Fuse 6.3 dbcp

estoy usando ojdbc6-11.2.0.3.jar y el controlador funciona en ambas configuraciones.

Lo probé con una consulta de JBoss Fuse Console

jdbc:query jdbc/oracle 'select * from somewhere.sometable WHERE rownum < 5'

Verifique que JDBC y JNDI estén instalados

features:install jdbc
features:install jndi

Puede soltar un archivo XML con el siguiente contenido en deploy/ para tener automáticamente una fuente de datos implementada.

Origen de datos de Oracle

<?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>

Fuente de datos básica

<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>

Carga de clases

Tenga en cuenta que esta versión del controlador Oracle JDBC no Listo para OSGi. Para que todo funcione bajo OSGi, es posible que desee exportar las clases de Oracle desde el paquete del sistema.
Copie ojdbc6-11.2.0.3.jar (o su versión) a lib/ carpeta de JBoss Fuse.
Editar etc/config.properties y agregue los paquetes a org.osgi.framework.system.packages propiedad

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

Reinicie y verifique 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