2013-10-16 3 views
0

Je suis confronté à un problème car le fichier java importé n'est pas appelé. S'il vous plaît jeter un oeil de mon code: -Les fichiers java importés ne sont pas appelés

import javax.naming.Context; 
    import javax.naming.InitialContext; 
    ..... 
    public class ABC{ 
    ..... 
    1.  Context lContext = null; 
    2.  ObjectDataSourceFactory lSource = null; 
    3.  try 
    4.  { 
    5.   lContext = new InitialContext(); 
    6.   lSource = ((ObjectDataSourceFactory)lContext.lookup(....)); 
    } 
     catch (Exception e) 
    { 

    } 

Le problème que je suis face ici est: lorsque le contrôle de flux entre dans le numéro de la ligne 6. appelle la « méthode de recherche » de « SelectorContext.java » mais pas de " InitialContext.java ", j'ai trouvé ceci à l'aide du mode DEBUGGING dans eclipse. En conséquence, il ne peut pas trouver le bon JNDI et donne une exception. FYI .. Mon code s'exécute sur Tomcat6. J'ai défini le classpath des fichiers jar de mon JRE1.6 et donc le JDK. Comment puis-je savoir à partir de quel JAR ce "SelectorContext.java" est appelé et comment le faire pour regarder dans le InitialContext.class qui est présent à l'intérieur de RT.JAR, si je suis pas faux ?

Répondre

1

Votre compréhension est incorrecte. SelectorContext est l'une des implémentations JNDI du tomcat.

Il existe une option permettant d'utiliser le contexte JNDI externe en définissant java.naming.factory.initial comme variable système. Ceci est défini par Tomcat (javaURLContextFactory) pour fournir ses propres services JNDI. Lorsque vous appelez new InitialContext(), JVM voit s'il existe une fabrique de noms fournie par l'utilisateur et si elle est disponible, JVM appelle initialFactory.getInitialContext pour obtenir l'implémentation JNDI personnalisée et la place par défaut et tous les appels de méthode au contexte est retourné à l'implémentation personnalisée.

Dans votre cas, l'appel à SelectorContext est correct, vérifiez si vous avez la configuration requise pour avoir la ressource dans JNDI.

Questions connexes