Is it possible to use HornetQ as beans without JNDI (even if it is behind some abstraction)...?

612 Views Asked by At

My original problem is an attempt to discover and embed HornetQ with a bare minimum of dependencies.

One item i would like to avoid is the need for JNDI. I believe it should be possible locate all the objects directly rather than doing the jndi locator thing.

I am not a fan of jndi because it seems to be like a global bucket of crap, where one needs to keep track of names, make sure they dont conflict w/ other things and so on, many things which seem wrong when one remembers that good abstractions make a bare minimum public.

BTW this is not a rant just a general observation...

1

There are 1 best solutions below

0
On BEST ANSWER

I found an answer to my own q while browsing the examples particularly EmbeddedExample.java which says "yes" one can does not need JNDI..

 // 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);