This is an automated email from the ASF dual-hosted git repository.
lhotari 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 a56bd876f5a [improve][client] Use Jackson's ObjectReader in Client's
JSON readers (#19215)
a56bd876f5a is described below
commit a56bd876f5acf328c7512715279212c650e52d43
Author: Lari Hotari <[email protected]>
AuthorDate: Fri Jan 13 01:01:25 2023 +0200
[improve][client] Use Jackson's ObjectReader in Client's JSON readers
(#19215)
---
.../pulsar/client/impl/schema/reader/JacksonJsonReader.java | 9 +++++----
.../org/apache/pulsar/client/impl/schema/reader/JsonReader.java | 9 +++++----
2 files changed, 10 insertions(+), 8 deletions(-)
diff --git
a/pulsar-client/src/main/java/org/apache/pulsar/client/impl/schema/reader/JacksonJsonReader.java
b/pulsar-client/src/main/java/org/apache/pulsar/client/impl/schema/reader/JacksonJsonReader.java
index 478d40a291d..4220457dcef 100644
---
a/pulsar-client/src/main/java/org/apache/pulsar/client/impl/schema/reader/JacksonJsonReader.java
+++
b/pulsar-client/src/main/java/org/apache/pulsar/client/impl/schema/reader/JacksonJsonReader.java
@@ -19,6 +19,7 @@
package org.apache.pulsar.client.impl.schema.reader;
import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.ObjectReader;
import java.io.IOException;
import java.io.InputStream;
import org.apache.pulsar.client.api.SchemaSerializationException;
@@ -33,17 +34,17 @@ import org.slf4j.LoggerFactory;
*/
public class JacksonJsonReader<T> implements SchemaReader<T> {
private final Class<T> pojo;
- private final ObjectMapper objectMapper;
+ private final ObjectReader objectReader;
public JacksonJsonReader(ObjectMapper objectMapper, Class<T> pojo) {
this.pojo = pojo;
- this.objectMapper = objectMapper;
+ this.objectReader = pojo != null ? objectMapper.readerFor(pojo) :
objectMapper.reader();
}
@Override
public T read(byte[] bytes, int offset, int length) {
try {
- return objectMapper.readValue(bytes, offset, length, this.pojo);
+ return objectReader.readValue(bytes, offset, length);
} catch (IOException e) {
throw new SchemaSerializationException(e);
}
@@ -52,7 +53,7 @@ public class JacksonJsonReader<T> implements SchemaReader<T> {
@Override
public T read(InputStream inputStream) {
try {
- return objectMapper.readValue(inputStream, pojo);
+ return objectReader.readValue(inputStream, pojo);
} catch (IOException e) {
throw new SchemaSerializationException(e);
} finally {
diff --git
a/pulsar-client/src/main/java/org/apache/pulsar/client/impl/schema/reader/JsonReader.java
b/pulsar-client/src/main/java/org/apache/pulsar/client/impl/schema/reader/JsonReader.java
index 0b86cbcc84b..5e146698e8f 100644
---
a/pulsar-client/src/main/java/org/apache/pulsar/client/impl/schema/reader/JsonReader.java
+++
b/pulsar-client/src/main/java/org/apache/pulsar/client/impl/schema/reader/JsonReader.java
@@ -19,6 +19,7 @@
package org.apache.pulsar.client.impl.schema.reader;
import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.ObjectReader;
import java.io.IOException;
import java.io.InputStream;
import org.apache.pulsar.client.api.SchemaSerializationException;
@@ -35,17 +36,17 @@ import org.slf4j.LoggerFactory;
@Deprecated
public class JsonReader<T> implements SchemaReader<T> {
private final Class<T> pojo;
- private final ObjectMapper objectMapper;
+ private final ObjectReader objectReader;
public JsonReader(ObjectMapper objectMapper, Class<T> pojo) {
this.pojo = pojo;
- this.objectMapper = objectMapper;
+ this.objectReader = pojo != null ? objectMapper.readerFor(pojo) :
objectMapper.reader();
}
@Override
public T read(byte[] bytes, int offset, int length) {
try {
- return objectMapper.readValue(bytes, offset, length, this.pojo);
+ return objectReader.readValue(bytes, offset, length);
} catch (IOException e) {
throw new SchemaSerializationException(e);
}
@@ -54,7 +55,7 @@ public class JsonReader<T> implements SchemaReader<T> {
@Override
public T read(InputStream inputStream) {
try {
- return objectMapper.readValue(inputStream, pojo);
+ return objectReader.readValue(inputStream);
} catch (IOException e) {
throw new SchemaSerializationException(e);
} finally {