Oracle
 sql >> Base de données >  >> RDS >> Oracle

Oracle ADF sur JBoss :problème de connexion Jdbc encapsulée

Cela remonte à un certain temps, mais je vais simplement donner suite à ma propre question.

Il existe un guide sur Oracle Metalink (Nécessite une connexion) qui explique comment déployer ADF/BC sur JBoss. Je suis presque sûr que c'est ce qui a résolu ce problème pour moi (c'était il y a un moment..)

En voici une copie :

Résumé
Le but de cette note est de montrer comment vous créez un module d'application ADF BC et comment vous le déployez sur un serveur d'application JBoss. Il vous montrera également quelles configurations vous devez effectuer du côté de JBoss pour que le module d'application fonctionne correctement.

Portée et application
Cette note est destinée à toute personne qui est sur le point de déployer un module ADF BC sur un serveur d'applications JBoss.

Comment déployer un module ADF BC sur un serveur d'applications JBoss
Les étapes nécessaires au déploiement d'un module ADF BC sur un serveur d'applications JBoss sont les suivantes :

  1. Configurer les bibliothèques d'exécution ADF sur le serveur JBoss
  2. Configurer la ou les sources de données sur le serveur JBoss
  3. Configurer le module ADF BC
  4. Déployer le module ADF BC

Je vais détailler chacune de ces étapes. Il existe également un exemple complet en pièce jointe à télécharger ici.Configurer les bibliothèques d'exécution ADF sur le serveur JBoss

  1. Arrêtez le serveur d'applications.
  2. Appelez l'assistant d'installation d'ADF Runtime. Choisissez Outils | ADF Runtime Installer et choisissez un type de serveur dans le sous-menu.
  3. Suivez les pages de l'assistant. Pour obtenir des instructions détaillées sur n'importe quelle page de l'assistant, cliquez sur Aide.
  4. Sur la page Emplacement, sélectionnez le répertoire d'accueil (ou racine) du serveur sur lequel les bibliothèques doivent être installées.
  5. Sur la page Options d'installation, vous pouvez choisir l'opération que vous souhaitez effectuer.* Installez les bibliothèques d'exécution ADF à partir de votre installation JDeveloper.* Désinstallez les bibliothèques d'exécution ADF précédemment installées.* Restaurez une version archivée des bibliothèques d'exécution ADF en tant que la version active.
  6. Sur la page Résumé, cliquez sur Migrer si vous souhaitez préparer des projets JSP UIX existants pour le déploiement.
  7. Sur la page Résumé, confirmez les détails de l'installation, puis cliquez sur Terminer.
  8. Redémarrez le serveur d'applications.

Configurer la ou les sources de données sur le serveur JBoss
Pour créer une source de données Oracle dans le serveur JBoss, vous devez suivre les étapes suivantes :

  1. Créez un fichier appelé oracle-ds.xml. Ce fichier contiendra la configuration de votre source de données. Vous trouverez ci-dessous un exemple de ce à quoi un tel fichier peut ressembler.

    <?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. Copiez le fichier dans le répertoire /deploy. Cela l'installera sur le serveur JBoss.

Configurer le module ADF BC
Il y a quelques étapes à suivre sur le module ADF BC pour qu'il s'exécute sur le serveur JBoss.

Lors de la création d'un module ADF BC qui sera utilisé sur un serveur d'applications JBoss, il est nécessaire de définir le SQL Flavor sur SQL92 et le Type Map sur Java. Cette modification est requise lors de l'utilisation de JBoss comme serveur d'applications.

****Packagez le projet ADF Business Components en tant que bean session EJB.****

  1. Cliquez avec le bouton droit sur le module d'application, sélectionnez Déploiement des composants métier.
  2. Dans la boîte de dialogue des profils, sélectionnez EJB Session Beans.
  3. Dans la boîte de dialogue EJB Session Beans, sélectionnez Déployer vers :autre conteneur EJB
  4. Dans la boîte de dialogue AppModules, configurez le module d'application comme indiqué dans la figure 1 ci-dessous.

Figure 1. Configuration du module d'application

Une fois terminé, votre projet ressemblera à celui illustré dans la figure 2 ci-dessous.

Figure 2. Le projet JDeveloper

La dernière étape consiste à configurer le module d'application pour utiliser la source de données que nous avons créée à l'étape précédente. Cela se fait comme suit :

  1. Modifier le module d'application.
  2. Dans le navigateur, cliquez avec le bouton droit sur l'icône du module d'application Composants métier et choisissez Configurations.
  3. Sélectionnez la configuration appropriée.
  4. Sélectionnez cette configuration et cliquez sur Modifier.
  5. Dans la liste Type de connexion, choisissez JDBC DataSource.
  6. Entrez un nom de source de données. Par exemple :java:/OracleDS.

Déployer le module ADF BC
Si vous avez votre serveur JBoss localement ou mappé sur votre machine locale, vous pouvez le déployer directement depuis JDeveloper. Si votre serveur JBoss est distant et non mappé sur la machine locale, ou si vous avez une application JSP qui utilisera ultérieurement ce module, vous ne pouvez pas la déployer directement depuis JDeveloper. Les deux méthodes sont décrites ci-dessous.

Déploiement du module depuis JDeveloper
1. Créez une connexion au serveur d'application cible.2. Si vous souhaitez prendre en charge les options de configuration spécifiques à JBoss pour l'EJB, ajoutez un fichier descripteur de déploiement jboss.xml. Pour plus d'informations sur ce fichier, voir http://www.jboss.org .3. Si votre projet est un projet Business Components UIX JSP, ajoutez-y les ressources Cabo requises.4. Sélectionnez le profil de déploiement dans le navigateur, cliquez avec le bouton droit et choisissez Déployer vers | pour empaqueter l'application en tant que fichier d'archive et la déployer via la connexion au serveur d'applications sélectionnée.

Déploiement du module en dehors de JDeveloper
Si votre serveur JBoss est distant et non mappé sur la machine locale, ou si vous avez une application JSP qui utilisera ultérieurement ce module, vous devrez procéder comme suit :

  1. Choisissez Déployer vers un fichier EAR dans le menu contextuel pour le déployer en tant que fichier EAR. Vous devez déployer cette application dans un fichier EAR et non dans un fichier WAR, car JBoss n'ajoutera pas les références EJB sous l'espace de noms java:comp/env/JNDI pour un fichier WAR.
  2. Copiez ce fichier manuellement dans le répertoire /deploy.