// Step 4. Configure the JMS Queue
JMSQueueConfiguration queueConfig = new JMSQueueConfigurationImpl("queue1", null, false, "/queue/queue1");
jmsConfig.getQueueConfigurations().add(queueConfig);
// Step 5. Start the JMS Server using the HornetQ core server and the JMS configuration
EmbeddedJMS jmsServer = new EmbeddedJMS();
jmsServer.setConfiguration(configuration);
jmsServer.setJmsConfiguration(jmsConfig);
jmsServer.start();
System.out.println("Started Embedded JMS Server");
// Step 6. Lookup JMS resources defined in the configuration
ConnectionFactory cf = (ConnectionFactory)jmsServer.lookup("/cf");
Queue queue = (Queue)jmsServer.lookup("/queue/queue1");
// Step 7. Send and receive a message using JMS API
Connection connection = null;
try
{
connection = cf.createConnection();
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
MessageProducer producer = session.createProducer(queue);
TextMessage message = session.createTextMessage("Hello sent at " + new Date());
System.out.println("Sending message: " + message.getText());
producer.send(message);
MessageConsumer messageConsumer = session.createConsumer(queue);
connection.start();
TextMessage messageReceived = (TextMessage)messageConsumer.receive(1000);
System.out.println("Received message:" + messageReceived.getText());
}
finally
{
if (connection != null)
{
connection.close();
}
// Step 11. Stop the JMS server
jmsServer.stop();
System.out.println("Stopped the JMS Server");
System.exit(0);
}
}