Comment fonctionne la recherche JNDI travail dans ce JMS exemple?

Je vais avoir du mal à comprendre le JNDI partie de la suite de JMS exemple.

public static void main(String[] args) {
    try {
        //Gets the JNDI context
        Context jndiContext = new InitialContext();
        //Looks up the administered objects
        ConnectionFactory connectionFactory = (ConnectionFactory)
                jndiContext.lookup("jms/javaee7/ConnectionFactory");
        Destination queue = (Destination) jndiContext.lookup("jms/javaee7/Queue");
        //Sends a text message to the queue
        try (JMSContext context = connectionFactory.createContext()) {
            context.createProducer().send(queue, "Text message sent at " + new Date());
        }
    } catch (NamingException e) {
        e.printStackTrace();
    }
}

Le livre où j'ai eu cette exemple de ne pas mentionner le programme d'installation pour faire cette recherche JNDI possible. Par exemple, dans

ConnectionFactory connectionFactory = (ConnectionFactory)
      jndiContext.lookup("jms/javaee7/ConnectionFactory");

devrait-il y avoir une sorte de serveur en cours d'exécution afin que le jndiContext pouvez obtenir une prise d'un ConnectionFactory objet? En général, ce genre de montage est nécessaire pour la recherche JNDI ci-dessus pour travailler?

Merci beaucoup.

Il ne fonctionne pas à tous les sans plus de l'installation, sauf si c'est destiné à faire partie d'une webapp plutôt que d'un programme autonome. Vous auriez besoin de les définir. Un contexte initial de l'usine, et dans un contexte d'URL pour un début. Voir l'Oracle JBDI Tutoriel pour des exemples.
comment le ConnectionFactory charge jndi.properties? Tandis qu'il y a un ldap je n'ai pas vu de solution dans le JNDI tutoriel qui répond à cette question.

OriginalL'auteur JBT | 2014-04-13