From 009af1f655a4f271a93f3c0ca4184d9fbed5a3fe Mon Sep 17 00:00:00 2001 From: congbo Date: Tue, 10 Aug 2021 11:43:48 +0800 Subject: [PATCH 1/2] Fix schema-understand doc. --- site2/docs/schema-understand.md | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/site2/docs/schema-understand.md b/site2/docs/schema-understand.md index c338ecf2ed570..507131c0bf25b 100644 --- a/site2/docs/schema-understand.md +++ b/site2/docs/schema-understand.md @@ -327,7 +327,10 @@ Pulsar gets the schema definition from the predefined `struct` using an Avro lib 1. Create the _User_ class to define the messages sent to Pulsar topics. ```java - public class User { + @Builder + @AllArgsConstructor + @NoArgsConstructor + public static class User { String name; int age; } @@ -337,7 +340,7 @@ Pulsar gets the schema definition from the predefined `struct` using an Avro lib ```java Producer producer = client.newProducer(Schema.AVRO(User.class)).create(); - producer.newMessage().value(User.builder().userName("pulsar-user").userId(1L).build()).send(); + producer.newMessage().value(User.builder().name("pulsar-user").age(1).build()).send(); ``` 3. Create a consumer with a `struct` schema and receive messages @@ -382,7 +385,10 @@ You can define the `schemaDefinition` to generate a `struct` schema. 1. Create the _User_ class to define the messages sent to Pulsar topics. ```java - public class User { + @Builder + @AllArgsConstructor + @NoArgsConstructor + public static class User { String name; int age; } @@ -391,17 +397,17 @@ You can define the `schemaDefinition` to generate a `struct` schema. 2. Create a producer with a `SchemaDefinition` and send messages. ```java - SchemaDefinition schemaDefinition = SchemaDefinition.builder().withPojo(User.class).build(); - Producer producer = client.newProducer(schemaDefinition).create(); - producer.newMessage().value(User.builder().userName("pulsar-user").userId(1L).build()).send(); + SchemaDefinition schemaDefinition = SchemaDefinition.builder().withPojo(User.class).build(); + Producer producer = client.newProducer(Schema.AVRO(schemaDefinition)).create(); + producer.newMessage().value(User.builder().name("pulsar-user").age(1).build()).send(); ``` 3. Create a consumer with a `SchemaDefinition` schema and receive messages ```java - SchemaDefinition schemaDefinition = SchemaDefinition.builder().withPojo(User.class).build(); - Consumer consumer = client.newConsumer(schemaDefinition).subscribe(); - User user = consumer.receive(); + SchemaDefinition schemaDefinition = SchemaDefinition.builder().withPojo(User.class).build(); + Consumer consumer = client.newConsumer(Schema.AVRO(schemaDefinition)).subscribe(); + User user = consumer.receive().getValue(); ``` From 9668ab5cec14e4a3d88a31989bf0a3708ba68932 Mon Sep 17 00:00:00 2001 From: congbo Date: Tue, 10 Aug 2021 15:25:46 +0800 Subject: [PATCH 2/2] Add some version change --- .../version-2.8.0/schema-understand.md | 24 ++++++++++++------- .../version-2.8.1/schema-understand.md | 24 ++++++++++++------- 2 files changed, 30 insertions(+), 18 deletions(-) diff --git a/site2/website/versioned_docs/version-2.8.0/schema-understand.md b/site2/website/versioned_docs/version-2.8.0/schema-understand.md index be4b3e188cfd2..d89f7ce5cf26a 100644 --- a/site2/website/versioned_docs/version-2.8.0/schema-understand.md +++ b/site2/website/versioned_docs/version-2.8.0/schema-understand.md @@ -328,7 +328,10 @@ Pulsar gets the schema definition from the predefined `struct` using an Avro lib 1. Create the _User_ class to define the messages sent to Pulsar topics. ```java - public class User { + @Builder + @AllArgsConstructor + @NoArgsConstructor + public static class User { String name; int age; } @@ -338,7 +341,7 @@ Pulsar gets the schema definition from the predefined `struct` using an Avro lib ```java Producer producer = client.newProducer(Schema.AVRO(User.class)).create(); - producer.newMessage().value(User.builder().userName("pulsar-user").userId(1L).build()).send(); + producer.newMessage().value(User.builder().name("pulsar-user").age(1).build()).send(); ``` 3. Create a consumer with a `struct` schema and receive messages @@ -383,7 +386,10 @@ You can define the `schemaDefinition` to generate a `struct` schema. 1. Create the _User_ class to define the messages sent to Pulsar topics. ```java - public class User { + @Builder + @AllArgsConstructor + @NoArgsConstructor + public static class User { String name; int age; } @@ -392,17 +398,17 @@ You can define the `schemaDefinition` to generate a `struct` schema. 2. Create a producer with a `SchemaDefinition` and send messages. ```java - SchemaDefinition schemaDefinition = SchemaDefinition.builder().withPojo(User.class).build(); - Producer producer = client.newProducer(schemaDefinition).create(); - producer.newMessage().value(User.builder().userName("pulsar-user").userId(1L).build()).send(); + SchemaDefinition schemaDefinition = SchemaDefinition.builder().withPojo(User.class).build(); + Producer producer = client.newProducer(Schema.AVRO(schemaDefinition)).create(); + producer.newMessage().value(User.builder().name("pulsar-user").age(1).build()).send(); ``` 3. Create a consumer with a `SchemaDefinition` schema and receive messages ```java - SchemaDefinition schemaDefinition = SchemaDefinition.builder().withPojo(User.class).build(); - Consumer consumer = client.newConsumer(schemaDefinition).subscribe(); - User user = consumer.receive(); + SchemaDefinition schemaDefinition = SchemaDefinition.builder().withPojo(User.class).build(); + Consumer consumer = client.newConsumer(Schema.AVRO(schemaDefinition)).subscribe(); + User user = consumer.receive().getValue(); ``` diff --git a/site2/website/versioned_docs/version-2.8.1/schema-understand.md b/site2/website/versioned_docs/version-2.8.1/schema-understand.md index 8c99017750e3a..760336544734b 100644 --- a/site2/website/versioned_docs/version-2.8.1/schema-understand.md +++ b/site2/website/versioned_docs/version-2.8.1/schema-understand.md @@ -328,7 +328,10 @@ Pulsar gets the schema definition from the predefined `struct` using an Avro lib 1. Create the _User_ class to define the messages sent to Pulsar topics. ```java - public class User { + @Builder + @AllArgsConstructor + @NoArgsConstructor + public static class User { String name; int age; } @@ -338,7 +341,7 @@ Pulsar gets the schema definition from the predefined `struct` using an Avro lib ```java Producer producer = client.newProducer(Schema.AVRO(User.class)).create(); - producer.newMessage().value(User.builder().userName("pulsar-user").userId(1L).build()).send(); + producer.newMessage().value(User.builder().name("pulsar-user").age(1).build()).send(); ``` 3. Create a consumer with a `struct` schema and receive messages @@ -383,7 +386,10 @@ You can define the `schemaDefinition` to generate a `struct` schema. 1. Create the _User_ class to define the messages sent to Pulsar topics. ```java - public class User { + @Builder + @AllArgsConstructor + @NoArgsConstructor + public static class User { String name; int age; } @@ -392,17 +398,17 @@ You can define the `schemaDefinition` to generate a `struct` schema. 2. Create a producer with a `SchemaDefinition` and send messages. ```java - SchemaDefinition schemaDefinition = SchemaDefinition.builder().withPojo(User.class).build(); - Producer producer = client.newProducer(schemaDefinition).create(); - producer.newMessage().value(User.builder().userName("pulsar-user").userId(1L).build()).send(); + SchemaDefinition schemaDefinition = SchemaDefinition.builder().withPojo(User.class).build(); + Producer producer = client.newProducer(Schema.AVRO(schemaDefinition)).create(); + producer.newMessage().value(User.builder().name("pulsar-user").age(1).build()).send(); ``` 3. Create a consumer with a `SchemaDefinition` schema and receive messages ```java - SchemaDefinition schemaDefinition = SchemaDefinition.builder().withPojo(User.class).build(); - Consumer consumer = client.newConsumer(schemaDefinition).subscribe(); - User user = consumer.receive(); + SchemaDefinition schemaDefinition = SchemaDefinition.builder().withPojo(User.class).build(); + Consumer consumer = client.newConsumer(Schema.AVRO(schemaDefinition)).subscribe(); + User user = consumer.receive().getValue(); ```