import javax.jms.Connection; import javax.jms.DeliveryMode; import javax.jms.Destination; import javax.jms.JMSException; import javax.jms.Message; import javax.jms.MessageConsumer; import javax.jms.MessageProducer; import javax.jms.Session; import javax.jms.TextMessage; import org.apache.activemq.ActiveMQConnection; import org.apache.activemq.ActiveMQConnectionFactory; import org.apache.activemq.broker.BrokerService; import org.apache.activemq.util.IndentPrinter; public class MasterSlave { public static void main(String[] args) throws Exception{ MasterSlave masterslave = new MasterSlave(); masterslave.createMasterBroker(); Thread.sleep(5000); masterslave.createSlaveBroker(); Thread.sleep(5000); masterslave.sendMessage(); Thread.sleep(5000); masterslave.receiveMessage(); } public void createMasterBroker() throws Exception{ BrokerService broker = new BrokerService(); broker.getManagementContext().setConnectorPort(1100); broker.setBrokerName("MasterBroker"); broker.setUseJmx(true); broker.addConnector("tcp://localhost:61616"); broker.start(); } public void createSlaveBroker() throws Exception{ BrokerService broker = new BrokerService(); broker.getManagementContext().setConnectorPort(1099); broker.setBrokerName("SlaveBroker"); broker.setUseJmx(true); broker.addConnector("tcp://localhost:61617"); broker.setMasterConnectorURI("tcp://localhost:61616"); broker.setShutdownOnMasterFailure(false); broker.start(); } public void sendMessage() throws JMSException{ ProducerTool producertool = new ProducerTool(); producertool.run(); } public void receiveMessage(){ ConsumerTool consumertool = new ConsumerTool(); consumertool.run(); } }