activemq-artemis/examples/jms/proton-j
Andy Taylor 23e8edd979 ACTIVEMQ6-4 - Rename packages to ActiveMQ
https://issues.apache.org/jira/browse/ACTIVEMQ6-4

Repackage the modules, java source and maven poms to apache.activemq6
2014-11-11 18:28:18 +00:00
..
src/main ACTIVEMQ6-4 - Rename packages to ActiveMQ 2014-11-11 18:28:18 +00:00
pom.xml ACTIVEMQ6-4 - Rename packages to ActiveMQ 2014-11-11 18:28:18 +00:00
readme.html ACTIVEMQ6-2 Update to HQ master 2014-11-11 10:48:14 +00:00

readme.html

<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>
         &lt;acceptor name="proton-acceptor"&gt;
         &lt;factory-class&gt;org.hornetq.core.remoting.impl.netty.NettyAcceptorFactory&lt;/factory-class&gt;
         &lt;param key="port" value="5672"/&gt;
         &lt;/acceptor&gt;
     </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>