Est-il possible d'ajouter un objet personnalisé (Chaîne ou URL) à JNDI à l'aide de Weblogic Server Administration Console (Weblogic 10.0) ou en modifiant le fichier de configuration du serveur (config.xml)?Ajout d'un objet personnalisé à JNDI sur Weblogic 10
Répondre
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>
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.
Vous pouvez mais vous perdrez la haute disponibilité si vous utilisez un cluster. Voir: http://docs.oracle.com/cd/E11035_01/wls100/jndi/jndi.html#wp475702
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. –
besoin de faire la même chose ... wow, ça pue. – MeBigFatGuy
Vous devez utiliser plan.xml pour mettre à jour/remplacer les valeurs par défaut du fichier web.xml –