I am starting hornetQ by using the HornetQBootstrapServer
HornetQBootstrapServer hornetQ = new HornetQBootstrapServer(hornetq-beans.xml)
hornetQ.run();
.
.
.
//to stop
hornetQ.shutDown();
I keep hornetq-beans.xml, hornetq-configuration.xml and hornetq-jms.xml in the classpath.
Sample contents of hornetq-beans.xml
<bean name="Naming" class="org.jnp.server.NamingBeanImpl"/>
<!-- JNDI server. Disable this if you don't want JNDI -->
<bean name="JNDIServer" class="org.jnp.server.Main">
<property name="namingInfo">
<inject bean="Naming"/>
</property>
<property name="port">1099</property>
<property name="bindAddress">localhost</property>
<property name="rmiPort">1098</property>
<property name="rmiBindAddress">localhost</property>
</bean>
<!-- MBean server -->
<bean name="MBeanServer" class="javax.management.MBeanServer">
<constructor factoryClass="java.lang.management.ManagementFactory"
factoryMethod="getPlatformMBeanServer"/>
</bean>
.
.
.
This is the way I enabled JNDI for the embedded HornetQ.