This is an automated email from the ASF dual-hosted git repository. liuyu pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/pulsar.git
The following commit(s) were added to refs/heads/master by this push: new 8d29b5a [docs] Add MessageListener example in addition to endless while loop (#10982) 8d29b5a is described below commit 8d29b5a5a5d3719867dca37116c90f5138eb3ae1 Author: newur <github.ne...@mailbox.org> AuthorDate: Tue Jun 29 12:46:15 2021 +0200 [docs] Add MessageListener example in addition to endless while loop (#10982) * Replace endless while loops with MessageListner * update text explaining the code * revert to old state & add MessageListener example * undo whitespace changes in last commit; just add messageListener * add MessageListener example to versioned docs * rebase; update versioned doc 2.8.1 as well Co-authored-by: Ruwen Reddig <ruwen.red...@gmail.com> --- site2/docs/client-libraries-java.md | 19 +++++++++++++++++++ .../version-2.7.0/client-libraries-java.md | 19 +++++++++++++++++++ .../version-2.7.1/client-libraries-java.md | 19 +++++++++++++++++++ .../version-2.7.2/client-libraries-java.md | 19 +++++++++++++++++++ .../version-2.7.3/client-libraries-java.md | 19 +++++++++++++++++++ .../version-2.8.0/client-libraries-java.md | 19 +++++++++++++++++++ .../version-2.8.1/client-libraries-java.md | 19 +++++++++++++++++++ 7 files changed, 133 insertions(+) diff --git a/site2/docs/client-libraries-java.md b/site2/docs/client-libraries-java.md index da25f16..55799b6 100644 --- a/site2/docs/client-libraries-java.md +++ b/site2/docs/client-libraries-java.md @@ -265,6 +265,25 @@ while (true) { } } ``` + +If you don't want to block your main thread and rather listen constantly for new messages, consider using a `MessageListener`. + +```java +MessageListener myMessageListener = (consumer, msg) -> { + try { + System.out.println("Message received: " + new String(msg.getData())); + consumer.acknowledge(msg); + } catch (Exception e) { + consumer.negativeAcknowledge(msg); + } +} + +Consumer consumer = client.newConsumer() + .topic("my-topic") + .subscriptionName("my-subscription") + .messageListener(myMessageListener) + .subscribe(); +``` ### Configure consumer diff --git a/site2/website/versioned_docs/version-2.7.0/client-libraries-java.md b/site2/website/versioned_docs/version-2.7.0/client-libraries-java.md index 72db967..9ea5752 100644 --- a/site2/website/versioned_docs/version-2.7.0/client-libraries-java.md +++ b/site2/website/versioned_docs/version-2.7.0/client-libraries-java.md @@ -267,6 +267,25 @@ while (true) { } ``` +If you don't want to block your main thread and rather listen constantly for new messages, consider using a `MessageListener`. + +```java +MessageListener myMessageListener = (consumer, msg) -> { + try { + System.out.println("Message received: " + new String(msg.getData())); + consumer.acknowledge(msg); + } catch (Exception e) { + consumer.negativeAcknowledge(msg); + } +} + +Consumer consumer = client.newConsumer() + .topic("my-topic") + .subscriptionName("my-subscription") + .messageListener(myMessageListener) + .subscribe(); +``` + ### Configure consumer If you instantiate a `Consumer` object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration. diff --git a/site2/website/versioned_docs/version-2.7.1/client-libraries-java.md b/site2/website/versioned_docs/version-2.7.1/client-libraries-java.md index b37fdde..ead4fed 100644 --- a/site2/website/versioned_docs/version-2.7.1/client-libraries-java.md +++ b/site2/website/versioned_docs/version-2.7.1/client-libraries-java.md @@ -267,6 +267,25 @@ while (true) { } ``` +If you don't want to block your main thread and rather listen constantly for new messages, consider using a `MessageListener`. + +```java +MessageListener myMessageListener = (consumer, msg) -> { + try { + System.out.println("Message received: " + new String(msg.getData())); + consumer.acknowledge(msg); + } catch (Exception e) { + consumer.negativeAcknowledge(msg); + } +} + +Consumer consumer = client.newConsumer() + .topic("my-topic") + .subscriptionName("my-subscription") + .messageListener(myMessageListener) + .subscribe(); +``` + ### Configure consumer If you instantiate a `Consumer` object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration. diff --git a/site2/website/versioned_docs/version-2.7.2/client-libraries-java.md b/site2/website/versioned_docs/version-2.7.2/client-libraries-java.md index a5e2d10..51785fb 100644 --- a/site2/website/versioned_docs/version-2.7.2/client-libraries-java.md +++ b/site2/website/versioned_docs/version-2.7.2/client-libraries-java.md @@ -267,6 +267,25 @@ while (true) { } ``` +If you don't want to block your main thread and rather listen constantly for new messages, consider using a `MessageListener`. + +```java +MessageListener myMessageListener = (consumer, msg) -> { + try { + System.out.println("Message received: " + new String(msg.getData())); + consumer.acknowledge(msg); + } catch (Exception e) { + consumer.negativeAcknowledge(msg); + } +} + +Consumer consumer = client.newConsumer() + .topic("my-topic") + .subscriptionName("my-subscription") + .messageListener(myMessageListener) + .subscribe(); +``` + ### Configure consumer If you instantiate a `Consumer` object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration. diff --git a/site2/website/versioned_docs/version-2.7.3/client-libraries-java.md b/site2/website/versioned_docs/version-2.7.3/client-libraries-java.md index 3671dc1..946ca76 100644 --- a/site2/website/versioned_docs/version-2.7.3/client-libraries-java.md +++ b/site2/website/versioned_docs/version-2.7.3/client-libraries-java.md @@ -267,6 +267,25 @@ while (true) { } ``` +If you don't want to block your main thread and rather listen constantly for new messages, consider using a `MessageListener`. + +```java +MessageListener myMessageListener = (consumer, msg) -> { + try { + System.out.println("Message received: " + new String(msg.getData())); + consumer.acknowledge(msg); + } catch (Exception e) { + consumer.negativeAcknowledge(msg); + } +} + +Consumer consumer = client.newConsumer() + .topic("my-topic") + .subscriptionName("my-subscription") + .messageListener(myMessageListener) + .subscribe(); +``` + ### Configure consumer If you instantiate a `Consumer` object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration. diff --git a/site2/website/versioned_docs/version-2.8.0/client-libraries-java.md b/site2/website/versioned_docs/version-2.8.0/client-libraries-java.md index bda7597..4e9c817 100644 --- a/site2/website/versioned_docs/version-2.8.0/client-libraries-java.md +++ b/site2/website/versioned_docs/version-2.8.0/client-libraries-java.md @@ -267,6 +267,25 @@ while (true) { } ``` +If you don't want to block your main thread and rather listen constantly for new messages, consider using a `MessageListener`. + +```java +MessageListener myMessageListener = (consumer, msg) -> { + try { + System.out.println("Message received: " + new String(msg.getData())); + consumer.acknowledge(msg); + } catch (Exception e) { + consumer.negativeAcknowledge(msg); + } +} + +Consumer consumer = client.newConsumer() + .topic("my-topic") + .subscriptionName("my-subscription") + .messageListener(myMessageListener) + .subscribe(); +``` + ### Configure consumer If you instantiate a `Consumer` object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration. diff --git a/site2/website/versioned_docs/version-2.8.1/client-libraries-java.md b/site2/website/versioned_docs/version-2.8.1/client-libraries-java.md index 261b2bc..643cea1 100644 --- a/site2/website/versioned_docs/version-2.8.1/client-libraries-java.md +++ b/site2/website/versioned_docs/version-2.8.1/client-libraries-java.md @@ -266,6 +266,25 @@ while (true) { } } ``` + +If you don't want to block your main thread and rather listen constantly for new messages, consider using a `MessageListener`. + +```java +MessageListener myMessageListener = (consumer, msg) -> { + try { + System.out.println("Message received: " + new String(msg.getData())); + consumer.acknowledge(msg); + } catch (Exception e) { + consumer.negativeAcknowledge(msg); + } +} + +Consumer consumer = client.newConsumer() + .topic("my-topic") + .subscriptionName("my-subscription") + .messageListener(myMessageListener) + .subscribe(); +``` ### Configure consumer