Lors de la migration de Tomcat vers Weblogic 12.1.3, j'ai obtenu cette exception javax.naming.namenotfoundexception while trying to look up
, puis j'ai essayé les solutions suivantes: NameNotFoundException: en essayant de rechercher 'jdbc' uniquement lors de la publication à partir d'Eclipse Kepler mais pas d'Indigo et Comment accéder à JNDI source de données définie dans weblogic 10.3.6
J'ai l'erreur dans le titre maintenant
Mon code de recherche
ds = (DataSource) initContext.lookup("MyDB");
dans weblogic Nom JNDI
MyDB
Toute aide s'il vous plaît?
À la différence de Tomcat, weblogic crée plusieurs serveurs (généralement un serveur d'administration et au moins un autre). La source de données doit être allouée à chaque serveur. Dans un environnement en cluster, vous devez appliquer la source de données aux serveurs en cluster.
Vous devriez être en mesure de vous connecter à la source de données comme d'habitude. J'utilise toujours un bean Spring JNDI, je ne peux donc pas vous aider avec la syntaxe exacte. Les suggestions de @Maas sont bonnes.
Vérifiez le cas JNDI (MyDB! = MyDb). Cela semble banal, mais cela m'est arrivé et j'ai eu du mal à le repérer. Comme c’est le premier sujet de discussion que Google renvoie lors de la recherche de ce problème, je le publie ici au cas où cela aiderait.
En plus de cela, la réponse de @kiwiron couvre tout le reste.
Redémarrer le serveur après le déploiement aide.
Pour moi, le démarrage du serveur géré à partir d'une ligne de commande Windows au lieu de le démarrer à l'aide de la console WebLogic Admin a résolu le problème javax.naming.NameNotFoundException
. Je ne sais pas pourquoi c'était le cas cependant.