If you're using the JNDI to lookup a connection factory and then create a connection from that factory, why the need for these two statements?
broker = BrokerFactory.createBroker(new URI("xbean:activemq.xml")); broker.start(); If you set up your default provider url in the JNDI as follows java.naming.provider.url = vm://ytsvmx02s?brokerConfig=xbean:activemq.xml then this will start your ytsvmx02s embedded broker // create a new intial context, which loads from jndi.properties file context = new javax.naming.InitialContext(); // lookup the connection factory qcf = (javax.jms.ConnectionFactory)context.lookup("ConnectionFactory"); // connect to and boot the embedded broker connection = qcf.createConnection("admin", "admin"); Why do you have a transport connector with a 'vm' uri? The vm connector is used by clients to connect to an embedded broker. http://activemq.apache.org/vm-transport-reference.html Joe Eric-AWL wrote: > > The hostname of the first server (client process) is ytsvmx01s, the second > one (server process) is ytsvmx02s > > here is an extract of my "vm connection" > > > javax.jms.Connection connection; > BrokerService broker; > > ..... > > // create a new intial context, which loads from > jndi.properties file > context = new javax.naming.InitialContext(); > > // lookup the connection factory > broker = BrokerFactory.createBroker(new > URI("xbean:activemq.xml")); > broker.start(); > > // lookup the connection factory > qcf = > (javax.jms.ConnectionFactory)context.lookup("ConnectionFactory"); > // qcf = new > ActiveMQConnectionFactory("vm://localhost?brokerConfig=xbean:activemq.xml"); > > connection = qcf.createConnection("admin", "admin"); > .... > > > > here is an extract of my file activemq.xml > > <broker brokerName="${hostname}" useJmx="true" > xmlns="http://activemq.org/config/1.0" persistent="false"> > ..... > <transportConnectors> > <transportConnector name="tcp" uri="tcp://localhost:61616" > discoveryUri="multicast://default"/> > <transportConnector name="vm" uri="vm://${hostname}"/> > </transportConnectors> > > <networkConnectors> > <networkConnector name="pool" > uri="static://(tcp://ytsvmx01s:61616,tcp://ytsvmx02s:61616)" > conduitSubscriptions="false" dynamicOnly="true" /> > </networkConnectors> > .... > > > here is my jndi.properties file (for ytsvmx02s, the same with > vm://ytsvmx01s for the other server) > > java.naming.factory.initial = > org.apache.activemq.jndi.ActiveMQInitialContextFactory > > # use the following property to configure the default connector > java.naming.provider.url = vm://ytsvmx02s > > # register some queues in JNDI using the form > # queue.[jndiName] = [physicalName] > queue.Queue1 = Queue1 > queue.Queue2 = Queue2 > queue.Queue3 = Queue3 > > -- View this message in context: http://www.nabble.com/%22Embedded-broker%22%2C-%22network-of-brokers%22-and-%22temporary-queues%22-tp15023996s2354p15044156.html Sent from the ActiveMQ - User mailing list archive at Nabble.com.