activemq-artemis/examples/jms/proton-j
Thiago Kronig d48b4f4770 ARTEMIS-129 License header should be a normal comment
To reproduce this commit, apply a replace regex rule using:

    search regex: /\*\*\n \* Licensed
    replace: /\*\n \* Licensed

These files had to be changed manually:

    artemis-selector/src/main/javacc/HyphenatedParser.jj
    artemis-selector/src/main/javacc/StrictParser.jj
    artemis-website/src/main/resources/styles/impact/css/pygmentize.css
    artemis-website/src/main/resources/styles/impact/css/site.css
2015-06-03 10:19:45 -04:00
..
src/main ARTEMIS-129 License header should be a normal comment 2015-06-03 10:19:45 -04:00
pom.xml [maven-release-plugin] prepare for next development iteration 2015-05-21 13:47:45 +01:00
readme.html Ensure all references to the project use ActiveMQ Artemis 2015-05-13 11:51:26 +01:00

readme.html

<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->

<html>
<head>
    <title>ActiveMQ Artemis 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>ActiveMQ Artemis 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 activemq's configured port and you should be able connect.</p>
<p>To run this example simply run the command <literal>mvn verify -Pexample</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 ActiveMQ Artemis server to accept AMQP clients. </p>
<p>Just for the sake of documentation though we are setting the port of ActiveMQ Artemis 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 ActiveMQ's 61616 default port</p>
     <pre class="prettyprint">
     <code>
         &lt;acceptor name="proton-acceptor"&gt;tcp://localhost:5672&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>