Proton qpid java example

<

HornetQ is a multi protocol broker. It will inspect the initial handshake of clients to determine what protocol to use.

All you need to do is to connect a client into hornetq's configured port and you should be able connect.

To run this example simply run the command mvn verify, execute the compile.sh script and start the executable called ./hello

You don't need to do anything special to configure the HornetQ server to accept AMQP clients.

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.

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

     
         <acceptor name="proton-acceptor">
         <factory-class>org.apache.activemq.core.remoting.impl.netty.NettyAcceptorFactory</factory-class>
         <param key="port" value="5672"/>
         </acceptor>
     
     

Example step-by-step

  1. Create an amqp qpid 1.0 connection.
  2.            connection= new Connection("localhost", 5672, null, null);
            
  3. Create a session
  4.            Session session = connection.createSession();
            
  5. Create a sender
  6.            Sender sender = session.createSender("testQueue");
            
  7. send a simple message
  8.            sender.send(new Message("I am an amqp message"));
            
  9. create a moving receiver, this means the message will be removed from the queue
  10.            Receiver rec = session.createMovingReceiver("testQueue");
            
  11. set some credit so we can receive
  12.           rec.setCredit(UnsignedInteger.valueOf(1), false);
            
  13. receive the simple message
  14.           Message m = rec.receive(5000);
                    System.out.println("message = " + m.getPayload());
            
  15. acknowledge the message
  16.           rec.acknowledge(m);
            
  17. close the connection
  18.           connection.close();