<html> <head> <title>HornetQ QPID java example</title> <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>Proton qpid java example</h1> <<p>HornetQ is a multi protocol broker. It will inspect the initial handshake of clients to determine what protocol to use.</p> <p>All you need to do is to connect a client into hornetq's configured port and you should be able connect.</p> <p>To run this example simply run the command <literal>mvn verify</literal>, execute the compile.sh script and start the executable called ./hello</p> <p>You don't need to do anything special to configure the HornetQ server to accept AMQP clients. </p> <p>Just for the sake of documentation though we are setting the port of HornetQ on this example as 5672 which is the port qpid have by default. </p> <p>This is totally optional and you don't need to follow this convention. You can use any port you chose including HornetQ's 5445 default port</p> <pre class="prettyprint"> <code> <acceptor name="proton-acceptor"> <factory-class>org.hornetq.core.remoting.impl.netty.NettyAcceptorFactory</factory-class> <param key="port" value="5672"/> </acceptor> </code> </pre> <h2>Example step-by-step</h2> <ol> <li> Create an amqp qpid 1.0 connection.</li> <pre class="prettyprint"> <code>connection= new Connection("localhost", 5672, null, null);</code> </pre> <li>Create a session</li> <pre class="prettyprint"> <code>Session session = connection.createSession();</code> </pre> <li>Create a sender</li> <pre class="prettyprint"> <code>Sender sender = session.createSender("testQueue");</code> </pre> <li>send a simple message</li> <pre class="prettyprint"> <code>sender.send(new Message("I am an amqp message"));</code> </pre> <li>create a moving receiver, this means the message will be removed from the queue</li> <pre class="prettyprint"> <code>Receiver rec = session.createMovingReceiver("testQueue");</code> </pre> <li>set some credit so we can receive</li> <pre class="prettyprint"> <code>rec.setCredit(UnsignedInteger.valueOf(1), false);</code> </pre> <li>receive the simple message</li> <pre class="prettyprint"> <code>Message m = rec.receive(5000); System.out.println("message = " + m.getPayload());</code> </pre> <li>acknowledge the message</li> <pre class="prettyprint"> <code>rec.acknowledge(m);</code> </pre> <li>close the connection</li> <pre class="prettyprint"> <code>connection.close();</code> </pre> </ol> </body> </html>