Wie funktioniert das JNDI-lookup funktioniert in diesem Beispiel JMS?

Ich habe eine harte Zeit zu verstehen, die JNDI-Teil die folgenden JMS-Beispiel.

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();
    }
}

Dem Buch, wo ich dieses Beispiel nicht erwähnt, das setup zu machen, das JNDI-lookup möglich. Zum Beispiel, in

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

sollte es irgendeine Art von server laufen, so dass die jndiContext bekommen halten kann eine ConnectionFactory Objekt? Im Allgemeinen, welche Art von setup ist erforderlich für den JNDI-lookup oben zu arbeiten?

Danke Ihnen sehr.

  • Es wird nicht funktionieren, ohne weitere setup, es sei denn, es soll Teil einer webapp eher als ein eigenständiges Programm. Sie würde festlegen müssen. Eine anfängliche Kontext-factory und eine Kontext-URL für einen start. Finden Sie in der Oracle JBDI Tutorial für Beispiele.
  • wie funktioniert die ConnectionFactory laden jndi.properties? Zwar gibt es ein ldap-Beispiel ich wollte nicht sehen, eine Lösung in der JNDI-tutorial, das diese Frage beantwortet.
InformationsquelleAutor JBT | 2014-04-13
Schreibe einen Kommentar