2014-11-10 11:14:12 -05:00
< html >
< head >
2014-11-19 03:44:57 -05:00
< title > ActiveMQ OpenWire Example< / title >
2014-11-10 11:14:12 -05:00
< link rel = "stylesheet" type = "text/css" href = "../common/common.css" / >
< link rel = "stylesheet" type = "text/css" href = "../common/prettify.css" / >
< script type = "text/javascript" src = "../common/prettify.js" > < / script >
< / head >
< body onload = "prettyPrint()" >
< h1 > JMS OpenWire Example< / h1 >
2014-11-19 03:44:57 -05:00
< p > This example shows you how to configure ActiveMQ server to communicate with an ActiveMQ JMS client using ActiveMQ's native openwire protocol.< / p >
2014-11-10 11:14:12 -05:00
< h2 > Example step-by-step< / h2 >
< p > < i > To run the example, simply type < code > mvn verify< / code > from this directory< / i > < / p >
< ol >
< li > First we need to create an ActiveMQ connection factory.< / code > < / li >
< pre class = "prettyprint" >
< code > ConnectionFactory factory = new ActiveMQConnectionFactory(urlString);< / code >
< / pre >
< li > Create the target queue< / li >
< pre class = "prettyprint" >
< code > Queue queue = new ActiveMQQueue("exampleQueue");< / code >
< / pre >
< li > We create a JMS connection and start it< / li >
< pre class = "prettyprint" >
< code > connection = cf.createConnection();< / code >
< code > connection.start()< / code >
< / pre >
< li > We create a JMS session. The session is created as non transacted and will auto acknowledge messages.< / li >
< pre class = "prettyprint" >
< code > Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);< / code >
< / pre >
< li > We create a JMS message producer on the session. This will be used to send the messages.< / li >
< pre class = "prettyprint" >
< code > MessageProducer messageProducer = session.createProducer(topic);< / code >
< / pre >
< li > We create a JMS text message that we are going to send.< / li >
< pre class = "prettyprint" >
< code > TextMessage message = session.createTextMessage("This is a text message");< / code >
< / pre >
< li > We send message to the queue< / li >
< pre class = "prettyprint" >
< code > messageProducer.send(message);< / code >
< / pre >
< li > We create a JMS Message Consumer to receive the message.< / li >
< pre class = "prettyprint" >
< code > MessageConsumer messageConsumer = session.createConsumer(queue);< / code >
< / pre >
< li > The message arrives at the consumer. In this case we use a timeout of 5000 milliseconds but we could use a blocking 'receive()'< / li >
< pre class = "prettyprint" >
< code > TextMessage messageReceived = (TextMessage) messageConsumer.receive(5000);< / code >
< / pre >
< li > And finally, < b > always< / b > remember to close your JMS connections and resources after use, in a < code > finally< / code > block. Closing a JMS connection will automatically close all of its sessions, consumers, producer and browser objects< / li >
< pre class = "prettyprint" >
< code > finally
{
if (connection != null)
{
connection.close();
}
}< / code >
< / pre >
< / ol >
< / body >
< / html >