protected void testPulsarFunctionality(String pulsarBrokerUrl) throws Exception { try ( PulsarClient client = PulsarClient.builder() .serviceUrl(pulsarBrokerUrl) .build(); Consumer consumer = client.newConsumer() .topic(TEST_TOPIC) .subscriptionName("test-subs") .subscribe(); Producer<byte[]> producer = client.newProducer() .topic(TEST_TOPIC) .create() ) { producer.send("test containers".getBytes()); CompletableFuture<Message> future = consumer.receiveAsync(); Message message = future.get(5, TimeUnit.SECONDS); assertThat(new String(message.getData())) .isEqualTo("test containers"); } }
Consumer<byte[]> createConsumer(PulsarClient client) throws PulsarClientException { return client.newConsumer() .topic(topic) .subscriptionName(subscriptionName) .subscriptionType(SubscriptionType.Failover) .subscribe(); } }
ConsumerBuilder<T> cb = pulsarClient.newConsumer(conf.getSchema()) .cryptoFailureAction(ConsumerCryptoFailureAction.CONSUME) .subscriptionName(pulsarSourceConfig.getSubscriptionName()) .subscriptionType(pulsarSourceConfig.getSubscriptionType()) .messageListener(this); cb.topicsPattern(topic); } else { cb.topic(topic); cb.properties(properties); cb.ackTimeout(pulsarSourceConfig.getTimeoutMs(), TimeUnit.MILLISECONDS); deadLetterPolicyBuilder.deadLetterTopic(pulsarSourceConfig.getDeadLetterTopic()); cb.deadLetterPolicy(deadLetterPolicyBuilder.build()); return cb.subscribeAsync(); }).collect(Collectors.toList()).stream().map(CompletableFuture::join).collect(Collectors.toList());
.messageListener(listener) // .receiverQueueSize(arguments.receiverQueueSize) // .acknowledgmentGroupTime(arguments.acknowledgmentsGroupingDelayMillis, TimeUnit.MILLISECONDS) // .subscriptionType(arguments.subscriptionType); consumerBuilder.cryptoKeyReader(keyReader); futures.add(consumerBuilder.clone().topic(topicName.toString()).subscriptionName(subscriberName) .subscribeAsync());
@Override public CompletableFuture<BenchmarkConsumer> createConsumer(String topic, String subscriptionName, ConsumerCallback consumerCallback) { return client.newConsumer().subscriptionType(SubscriptionType.Failover).messageListener((consumer, msg) -> { consumerCallback.messageReceived(msg.getData(), msg.getPublishTime()); consumer.acknowledgeAsync(msg); }).topic(topic).subscriptionName(subscriptionName).subscribeAsync() .thenApply(consumer -> new PulsarBenchmarkConsumer(consumer)); }
private ConsumerBuilder<byte[]> getConsumerConfiguration(PulsarClient client) { ConsumerBuilder<byte[]> builder = client.newConsumer(); if (queryParams.containsKey("ackTimeoutMillis")) { builder.ackTimeout(Integer.parseInt(queryParams.get("ackTimeoutMillis")), TimeUnit.MILLISECONDS); } if (queryParams.containsKey("subscriptionType")) { checkArgument(Enums.getIfPresent(SubscriptionType.class, queryParams.get("subscriptionType")).isPresent(), "Invalid subscriptionType %s", queryParams.get("subscriptionType")); builder.subscriptionType(SubscriptionType.valueOf(queryParams.get("subscriptionType"))); } if (queryParams.containsKey("receiverQueueSize")) { builder.receiverQueueSize(Math.min(Integer.parseInt(queryParams.get("receiverQueueSize")), 1000)); } if (queryParams.containsKey("consumerName")) { builder.consumerName(queryParams.get("consumerName")); } if (queryParams.containsKey("priorityLevel")) { builder.priorityLevel(Integer.parseInt(queryParams.get("priorityLevel"))); } return builder; }
this.consumer = builder.topic(topic.toString()).subscriptionName(subscription).subscribe(); if (!this.service.addConsumer(this)) { log.warn("[{}:{}] Failed to add consumer handler for topic {}", request.getRemoteAddr(),
Consumer<byte[]> consumer = client.newConsumer().topic(topic).subscriptionName(this.subscriptionName).subscriptionType(subscriptionType).subscribe();