connection.open(); ProtonSender sender = connection.createSender(address);
public void send(String address, List<Message> messages, long timeout, TimeUnit timeUnit) throws InterruptedException { ProtonClient client = ProtonClient.create(vertx); CountDownLatch latch = new CountDownLatch(1); Queue<Message> messageQueue = new ArrayDeque<>(messages); client.connect(host, port, connectEvent -> { if (connectEvent.succeeded()) { ProtonConnection connection = connectEvent.result(); connection.open(); ProtonSender sender = connection.createSender(address); sender.openHandler(senderOpenEvent -> { if (senderOpenEvent.succeeded()) { sendNext(connection, sender, messageQueue, latch); } }); sender.open(); } }); boolean ok = latch.await(timeout, timeUnit); if (!ok) { throw new RuntimeException("Sending messages timed out, " + messageQueue.size() + " messages unsent"); } }
private void createSender(Vertx vertx, String address, CompletableFuture<Void> promise, int retries) { sender = connection.createSender(address); sender.openHandler(result -> { if (result.succeeded()) { createReceiver(vertx, address, promise, 0); } else { if (retries > maxRetries) { promise.completeExceptionally(result.cause()); } else { log.info("Error creating sender, retries = {}", retries); vertx.setTimer(1000, id -> createSender(vertx, address, promise, retries + 1)); } } }); sender.open(); }
adapterConnection = con; final Future<ProtonSender> senderTracker = Future.future(); final ProtonSender sender = adapterConnection.createSender(null); sender.openHandler(senderTracker); sender.open();
/** * Setup all AMQP endpoints */ private void setupAmqpEndpoits() { // NOTE : Last Will and Testament Service endpoint is opened only if MQTT client provides will information // The receiver on the unique client publish address will be opened only after // connection is established (and CONNACK sent to the MQTT client) // setup and open AMQP endpoint for receiving on unique client control/publish addresses ProtonReceiver receiverControl = this.connection.createReceiver(String.format(AmqpReceiverEndpoint.CLIENT_CONTROL_ENDPOINT_TEMPLATE, this.mqttEndpoint.clientIdentifier())); ProtonReceiver receiverPublish = this.connection.createReceiver(String.format(AmqpReceiverEndpoint.CLIENT_PUBLISH_ENDPOINT_TEMPLATE, this.mqttEndpoint.clientIdentifier())); this.rcvEndpoint = new AmqpReceiverEndpoint(new AmqpReceiver(receiverControl, receiverPublish)); // setup and open AMQP endpoint to Subscription Service ProtonSender ssSender = this.connection.createSender(AmqpSubscriptionServiceEndpoint.SUBSCRIPTION_SERVICE_ENDPOINT); this.ssEndpoint = new AmqpSubscriptionServiceEndpoint(ssSender); // setup and open AMQP endpoint for publishing ProtonSender senderPubrel = this.connection.createSender(String.format(AmqpPublishEndpoint.AMQP_CLIENT_PUBREL_ENDPOINT_TEMPLATE, this.mqttEndpoint.clientIdentifier())); this.pubEndpoint = new AmqpPublishEndpoint(senderPubrel); this.rcvEndpoint.openControl(); this.ssEndpoint.open(); this.pubEndpoint.open(); }
ProtonSender sender = this.connection.createSender(amqpPublishMessage.topic());
connection.open(); senderConnection = Optional.of(connection); ProtonSender sender = connection.createSender(address); sender.openHandler(handler -> { log.info(this + ": sender opened to " + connection.getRemoteContainer());
@Override public void connectionOpened(ProtonConnection connection) { ProtonSender sender = connection.createSender(linkOptions.getTarget().getAddress()); sender.setTarget(linkOptions.getTarget()); sender.setQoS(clientOptions.getQos()); sender.openHandler(result -> { if (result.succeeded()) { log.info("Sender link '" + sender.getTarget().getAddress() + "' opened, sending messages"); connectPromise.complete(null); sendNext(connection, sender); } else { handleError(connection, sender.getRemoteCondition()); } }); sender.closeHandler(result -> handleError(connection, sender.getRemoteCondition())); sender.open(); }
ProtonSender senderQoS01 = this.connection.createSender(publish.topicName()); ProtonSender senderQoS2 = this.connection.createSender(publish.topicName());
ProtonSender wsSender = this.connection.createSender(AmqpLwtServiceEndpoint.LWT_SERVICE_ENDPOINT, linkOptions); this.lwtEndpoint = new AmqpLwtServiceEndpoint(wsSender);
final ProtonSender sender = con.createSender(targetAddress); sender.setQoS(qos); sender.setAutoSettle(true);
ProtonSender sender = conn.createSender(testName).open(); for (int i = 1; i <= totalMsgCount; i++) { final int msgNum = i;
ProtonSender sender = conn.createSender(testName).open(); for (int i = 1; i <= msgCount; i++) { final int msgNum = i;
ProtonSender sender = conn.createSender(destinationName).open(); sender.send(protonMsg, delivery -> { context.assertNotNull(delivery.getRemoteState(), "message had no remote state");
ProtonSender sender = conn.createSender(testName).open(); sender.send(protonMsg, delivery -> { context.assertNotNull(delivery.getRemoteState(), "message had no remote state");
ProtonSender sender = conn.createSender(testName).open(); sender.send(protonMsg, delivery -> { context.assertNotNull(delivery.getRemoteState(), "message had no remote state");