2010-04-30 15 views
2

Actuellement ma configuration est la suivante:Configuration de la source de données jboss 5.0 dans le fichier ear. Comment puis-je exécuter Oracle 10g et 11g sur le même serveur?

dans mon oreille META-INF/jboss-app.xml

<jboss-app> 
    <module> 
    <service>datasource-ds.xml</service> 
    </module> 
</jboss-app> 

et datasource-ds.xml

<datasources> 
    <local-tx-datasource> 
    <jndi-name>jdbc/mydeployment</jndi-name> 
    <connection-url>jdbc:oracle:thin:@eir:myport:mydbname</connection-url> 
     <driver-class>oracle.jdbc.driver.OracleDriver</driver-class> 
    <user-name>myuser</user-name> 
    <password>mypassword</password> 
    <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter</exception-sorter-class-name> 
     <metadata> 
     <type-mapping>Oracle9i</type-mapping> 
     </metadata> 
    </local-tx-datasource> 
</datasources> 

et il fonctionne quand ojdbc5.jar est dans mon servername/lib.

Comment puis-je configurer mes informations de pilote oracle dans mon fichier .ear afin de pouvoir effectuer deux différents types de déploiement d'oreillette, l'un avec Oracle 10g et l'autre avec Oracle 11g?

EDIT: J'ai mal formulé la question. Je voulais dire comment je peux déployer une oreille en utilisant le fichier ojbc * .jar dans le fichier ear, pas dans le répertoire server/lib. Dans ma configuration, plusieurs applications différentes sont déployées et je veux qu'elles soient toutes autonomes. Une des applications utilise 11g et le reste utilise 10g. À l'heure actuelle, ceux qui utilisent 10g sont des fichiers d'oreille et celui qui utilise 11g est un fichier de guerre, donc cela fonctionne. Maintenant, je vais convertir les fichiers d'oreille en fichiers de guerre (je n'ai pas besoin de la fonctionnalité de l'oreille) afin de tester combien d'espace Permgen est utilisé. Donc je suppose que ma question est: Je voulais dire comment puis-je déployer une oreille en utilisant le fichier ojbc * .jar dans le fichier ear, pas dans le répertoire server/lib? Simplement vous dupliquer datasource.xml Par exemple:

+1

Voulez-vous dire comment configurer 2 sources de données différentes? – skaffman

Répondre

0

Sur la version ojdbc.jar, à moins que des fonctionnalités spécifiques du pilote dont vous avez besoin n'existent dans la dernière version, utilisez toujours les dernières versions, car elles seront toujours rétrocompatibles. Dans ce cas, il vaut mieux utiliser le lib lib central du serveur ... mais cela étant dit, je comprends parfaitement l'exigence de rendre chaque application web indépendante et plus facilement déployable. Au déploiement, si vous utilisez un IDE, vous pouvez définir jdbc jar comme une "bibliothèque", puis dans le "déploiement" vous pouvez le définir pour déployer les bibliothèques avec le code. Dans JDeveloper, lorsque vous définissez une bibliothèque utilisateur, vous pouvez choisir de la déployer par défaut, qui l'affectera automatiquement à un fichier WAR ou EAR issu de projets utilisant cette bibliothèque. Si vous ne définissez pas la bibliothèque utilisateur comme "déploiement par défaut" ou si votre IDE n'a pas cette option, les paramètres de "déploiement" (ou toute autre partie de votre IDE gère les builds WAR et EAR) auront une section à sélectionnez les bibliothèques à inclure.

Si vous n'utilisez pas d'IDE, vous pouvez insérer ces fichiers jar manuellement dans WEB-INF/lib dans votre structure de fichier de guerre.

+0

Le serveur d'applications crée le pool de connexions, pas la webapp (donc le pilote ne peut pas être dans 'WEB-INF/lib') –

+0

Ok. Si vous utilisez des pools de connexions de votre serveur d'applications, votre pilote doit être disponible sur le serveur de l'application, indépendamment des applications Web qui y sont déployées. Les EDI déploient commodément des sources de données avec des projets vers le serveur d'application pour nous, mais ce sont des entités indépendantes, donc je ne pense pas que vous puissiez avoir le contexte du serveur d'applications dépendant du déploiement de l'application. – REW

0

datasource-ds10g.xml et datasource-ds11g.xml avec connection-url corrects. Et se référer de votre .ear à l'une des sources de données.