2010-12-30 1 views
3

Mein ursprüngliches Problem ist ein Versuch, HornetQ mit einem Minimum an Abhängigkeiten zu entdecken und einzubetten.Ist es möglich, HornetQ als Beans ohne JNDI zu verwenden (auch wenn es hinter einer Abstraktion steht) ...?

Ein Element, das ich vermeiden möchte, ist die Notwendigkeit für JNDI. Ich glaube, dass es möglich sein sollte, alle Objekte direkt zu lokalisieren, anstatt die jndi Locator-Sache zu machen.

Ich bin kein Fan von Jndi, denn es scheint wie ein globaler Eimer von Mist zu sein, wo man Namen verfolgen muss, sicherstellen, dass sie nicht mit anderen Dingen kollidieren und so weiter, viele Dinge, die falsch scheinen wenn man sich erinnert, dass gute Abstraktionen ein bloßes Minimum öffentlich machen.

BTW ist dies kein rant nur eine allgemeine Beobachtung ...

Antwort

4

ich eine Antwort auf meine eigene q gefunden, während die Beispiele besonders EmbeddedExample.java gerade die sagt „Ja“ kann man nicht JNDI braucht ..

// Step 1. Create the Configuration, and set the properties accordingly 
    Configuration configuration = new ConfigurationImpl(); 
    configuration.setPersistenceEnabled(false); 
    configuration.setSecurityEnabled(false); 
    configuration.getAcceptorConfigurations().add(new TransportConfiguration(InVMAcceptorFactory.class.getName())); 

    // Step 2. Create and start the server 
    HornetQServer server = HornetQServers.newHornetQServer(configuration); 
    server.start(); 

    // Step 3. As we are not using a JNDI environment we instantiate the objects directly 
    ClientSessionFactory sf = HornetQClient.createClientSessionFactory(new TransportConfiguration(InVMConnectorFactory.class.getName())); 

    // Step 4. Create a core queue 
    ClientSession coreSession = sf.createSession(false, false, false); 
Verwandte Themen