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

Oracle ADF en JBoss:problema de conexión Jdbc envuelto

Esto es hace un tiempo, pero seguiré con mi propia pregunta.

Hay una guía sobre Oracle Metalink (Necesita inicio de sesión) que explica cómo implementar ADF/BC en JBoss. Estoy bastante seguro de que esto es lo que resolvió esto para mí (fue hace un tiempo...)

Aquí hay una copia:

Resumen
El propósito de esta nota es mostrar cómo se crea un módulo de aplicaciones ADF BC y cómo se implementa en un servidor de aplicaciones JBoss. También le mostrará qué configuraciones necesita realizar en el lado de JBoss para que el módulo de aplicación funcione correctamente.

Alcance y aplicación
Esta nota está destinada a cualquier persona que esté a punto de implementar un módulo ADF BC en un servidor de aplicaciones JBoss.

Cómo implementar un módulo ADF BC en un servidor de aplicaciones JBoss
Los pasos necesarios para implementar un módulo ADF BC en un servidor de aplicaciones JBoss son los siguientes:

  1. Configurar las bibliotecas de tiempo de ejecución de ADF en el servidor JBoss
  2. Configurar fuentes de datos en el servidor JBoss
  3. Configurar el módulo ADF BC
  4. Implementar el módulo ADF BC

Voy a ir a través de cada uno de estos pasos más detalladamente. También hay un ejemplo completo adjunto para descargar aquí. Configure las bibliotecas de tiempo de ejecución de ADF en el servidor JBoss

  1. Apague el servidor de aplicaciones.
  2. Invoque el asistente del instalador de tiempo de ejecución de ADF. Elija Herramientas | ADF Runtime Installer y elija un tipo de servidor en el submenú.
  3. Continúe por las páginas del asistente. Para obtener instrucciones detalladas sobre cualquier página del asistente, haga clic en Ayuda.
  4. En la página Ubicación, seleccione el directorio de inicio (o raíz) del servidor en el que se instalarán las bibliotecas.
  5. En la página Opciones de instalación, puede elegir la operación que desea realizar.* Instale las bibliotecas de tiempo de ejecución de ADF desde su instalación de JDeveloper.* Desinstale las bibliotecas de tiempo de ejecución de ADF previamente instaladas.* Restaure una versión archivada de las bibliotecas de tiempo de ejecución de ADF como la versión activa.
  6. En la página Resumen, haga clic en Migrar si desea preparar cualquier proyecto UIX JSP existente para su implementación.
  7. En la página Resumen, confirme los detalles de la instalación y haga clic en Finalizar.
  8. Reinicie el servidor de aplicaciones.

Configurar fuentes de datos en el servidor JBoss
Para crear una fuente de datos de Oracle en el servidor JBoss, debe seguir los siguientes pasos:

  1. Cree un archivo llamado oracle-ds.xml. Este archivo contendrá la configuración de su fuente de datos. A continuación se muestra un ejemplo de cómo puede verse un archivo de este tipo.

    <?xml version="1.0" encoding="UTF-8"?>
      <datasources>
        <local-tx-datasource>
        <jndi-name>OracleDS</jndi-name>
        <use-java-context>false</use-java-context>
        <connection-url>jdbc:oracle:thin:@mydbhost.com:1521:mysid</connection-url>
        <driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
        <user-name>hr</user-name>
        <password>******</password>
        <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter</exception-sorter-class-name>
      </local-tx-datasource>
    </datasources>
    
  2. Copie el archivo en /deploy. Esto lo instalará en el servidor JBoss.

Configurar el módulo ADF BC
Hay algunos pasos que se deben seguir en el módulo ADF BC para que se ejecute en el servidor JBoss.

Al crear un módulo ADF BC que se usará en un servidor de aplicaciones JBoss, es necesario establecer SQL Flavor en SQL92 y Type Map en Java. Este cambio es necesario cuando se utiliza JBoss como servidor de aplicaciones.

**** Empaquete el proyecto ADF Business Components como un bean de sesión EJB. ****

  1. Haga clic con el botón derecho en el módulo de la aplicación, seleccione Implementación de componentes comerciales.
  2. En el diálogo de perfiles, seleccione Beans de sesión EJB.
  3. En el cuadro de diálogo Beans de sesión EJB, seleccione Implementar en:otro contenedor EJB
  4. En el cuadro de diálogo AppModules, configure el Módulo de aplicación como se ve en la figura 1 a continuación.

Figura 1. Configuración del Módulo de Aplicación

Una vez hecho esto, su proyecto se verá similar al que se muestra en la figura 2 a continuación.

Figura 2. El Proyecto JDeveloper

El paso final es configurar el módulo de aplicación para usar la fuente de datos que creamos en el paso anterior. Esto se hace de la siguiente manera:

  1. Edite el módulo de la aplicación.
  2. En el Navegador, haga clic con el botón derecho en el icono del módulo de la aplicación Business Components y seleccione Configuraciones.
  3. Seleccione la configuración apropiada.
  4. Seleccione esta configuración y haga clic en Editar.
  5. En la lista Tipo de conexión, seleccione JDBC DataSource.
  6. Ingrese un nombre de origen de datos. Por ejemplo:java:/OracleDS.

Implementar el módulo ADF BC
Si tiene su servidor JBoss localmente o mapeado en su máquina local, puede implementarlo directamente desde dentro de JDeveloper. Si su servidor JBoss es remoto y no está asignado a la máquina local, o si tiene una aplicación JSP que luego usará este módulo, no puede implementarla directamente desde JDeveloper. Ambos métodos se describen a continuación.

Implementación del módulo desde dentro de JDeveloper
1. Cree una conexión con el servidor de aplicaciones de destino.2. Si desea admitir opciones de configuración específicas de JBoss para EJB, agregue un archivo descriptor de implementación jboss.xml. Para obtener más información sobre este archivo, consulte http://www.jboss.org .3. Si su proyecto es un proyecto Business Components UIX JSP, agréguele los recursos de Cabo requeridos.4. Seleccione el perfil de implementación en el Navegador, haga clic con el botón derecho y elija Implementar en | para empaquetar la aplicación como un archivo de almacenamiento e implementarla a través de la conexión del servidor de aplicaciones seleccionado.

Implementación del Módulo fuera de JDeveloper
Si su servidor JBoss es remoto y no está asignado a la máquina local, o si tiene una aplicación JSP que más tarde usará este módulo, deberá hacer lo siguiente:

  1. Elija Implementar en un archivo EAR en el menú contextual para implementarlo como un archivo EAR. Debe implementar esta aplicación en un archivo EAR y no en un archivo WAR, ya que JBoss no agregará las referencias EJB en el espacio de nombres java:comp/env/JNDI para un archivo WAR.
  2. Copie este archivo manualmente en el directorio /deploy.