2010-01-11 7 views

Répondre

5

Je ne pense pas. Load objects in the JNDI tree cite:

Utilisation de la console d'administration, vous pouvez charger des services J2EE WebLogic Server et composants, tels que RMI, JMS, EJB, et des sources de données JDBC, dans l'arborescence JNDI.

Et en effet, je ne pouvais pas trouver un moyen d'ajouter un String ou URL en utilisant la console.

AFAIK, la méthode standard est de mettre un env-entry dans votre descripteur de déploiement (web.xml, ejb-jar.xml):

<env-entry> 
    <env-entry-name>string/foo</env-entry-name> 
    <env-entry-type>java.lang.String</env-entry-type> 
    <env-entry-value>foobar</env-entry-value> 
</env-entry> 

<env-entry> 
    <env-entry-name>url/bar</env-entry-name> 
    <env-entry-type>java.net.URL</env-entry-type> 
    <env-entry-value>http://foobar/</env-entry-value> 
</env-entry> 
+2

Mais si je le mets dans web.xml, tout changement nécessitera une reconstruction et un redéploiement. Il est étrange que je puisse mettre la configuration JDBC sur le serveur, de sorte que les modifications ne nécessitent pas de reconstruction, mais je ne peux pas mettre mes variables personnalisées (par exemple, mot de passe au compte mail, qui ne peut pas être configuré dans la session mail). besoin de les garder dans ma demande. –

+0

besoin de faire la même chose ... wow, ça pue. – MeBigFatGuy

+1

Vous devez utiliser plan.xml pour mettre à jour/remplacer les valeurs par défaut du fichier web.xml –

1

Je suis arrivé à ce exactement le même problème. Dans Websphere, par exemple, je peux ajouter des paramètres arbitraires tels que des répertoires temporaires, des mots de passe et d'autres informations à JNDI sans devoir recompiler/reconstruire l'EAR.

J'ai cherché pendant un certain temps et semble que Weblogic n'a pas cette fonctionnalité. Ce que j'ai fait a été d'écrire une classe d'aide qui recherche d'abord une clé de configuration donnée pour JNDI, et si elle ne la trouve pas, elle retourne à l'environnement de recherche ou aux variables système. Peut-être que cela pourrait être amélioré pour rechercher aussi les propriétés préfixées par le nom de l'application ou la racine de contexte, découvertes à l'exécution, pour éviter les conflits de noms lorsque plusieurs instances du même EAR sont déployées.

Questions connexes