package io.vertx.ext.amqp.impl.protocol; import io.vertx.core.Vertx; import io.vertx.core.net.NetClient; import io.vertx.core.net.NetClientOptions; import io.vertx.ext.amqp.MessagingException; import io.vertx.ext.amqp.ReliabilityMode; import io.vertx.ext.amqp.impl.CreditMode; import io.vertx.ext.amqp.impl.util.LogManager; public class MyReceiver extends AbstractAmqpEventListener { private static final LogManager LOG = LogManager.get("MyReceiver:", MyReceiver.class); private IncomingLinkImpl link; private ManagedConnection connection; public MyReceiver(String host, int port, String dest) throws MessagingException { NetClient netClient = Vertx.factory.vertx().createNetClient(new NetClientOptions()); DefaultConnectionSettings settings = new DefaultConnectionSettings(); settings.setHost(host); settings.setPort(port); connection = new ManagedConnection(settings, this, false); netClient.connect(settings.getPort(), settings.getHost(), result -> { if (result.succeeded()) { connection.setNetSocket(result.result()); connection.write(); connection.addDisconnectHandler(c -> { LOG.warn("Connection lost to peer at %s:%s", connection.getSettings().getHost(), connection .getSettings().getPort()); }); LOG.info("Connected to AMQP peer at %s:%s", connection.getSettings().getHost(), connection .getSettings().getPort()); } else { LOG.warn("Error {%s}, when connecting to AMQP peer at %s:%s", result.cause(), connection.getSettings() .getHost(), connection.getSettings().getPort()); } }); link = connection.createInboundLink(dest, ReliabilityMode.AT_LEAST_ONCE, CreditMode.AUTO); link.setCredits(10); } @Override public void onMessage(IncomingLinkImpl link, InboundMessage msg) { System.out.println("Received message : " + msg.getAddress() + " content : " + msg.getContent()); } public static void main(String[] args) throws Exception { MyReceiver MyReceiver = new MyReceiver("localhost", 6672, "mydest"); } }