2020-06-20 11:29:47 UTC - Erik Jansen: Trying to create a producer with JSON
schema but getting an error.
Any ideas?
Producer<LineItem> producer =
client.newProducer(Schema.JSON(LineItem.class))
.topic(topicName)
public class LineItem {
public int orderNbr;
public int partNbr;
public int supplierNbr;
public int lineNbr;
public Double quantity;
public Double extendedPrice;
public Double discount;
public String shipDate;
public String comment;
}
Exception in thread “main”
<http://org.apache.pulsar.shade.org|org.apache.pulsar.shade.org>.apache.avro.SchemaParseException:
Illegal character in: this$0
at
<http://org.apache.pulsar.shade.org|org.apache.pulsar.shade.org>.apache.avro.Schema.validateName(Schema.java:1532)
at
<http://org.apache.pulsar.shade.org|org.apache.pulsar.shade.org>.apache.avro.Schema.access$400(Schema.java:87)
at
<http://org.apache.pulsar.shade.org|org.apache.pulsar.shade.org>.apache.avro.Schema$Field.<init>(Schema.java:520)
at
<http://org.apache.pulsar.shade.org|org.apache.pulsar.shade.org>.apache.avro.Schema$Field.<init>(Schema.java:559)
at
<http://org.apache.pulsar.shade.org|org.apache.pulsar.shade.org>.apache.avro.reflect.ReflectData.createSchema(ReflectData.java:630)
at
<http://org.apache.pulsar.shade.org|org.apache.pulsar.shade.org>.apache.avro.specific.SpecificData$3.computeValue(SpecificData.java:335)
at
<http://org.apache.pulsar.shade.org|org.apache.pulsar.shade.org>.apache.avro.specific.SpecificData$3.computeValue(SpecificData.java:332)
at java.lang.ClassValue.getFromHashMap(ClassValue.java:227)
at java.lang.ClassValue.getFromBackup(ClassValue.java:209)
at java.lang.ClassValue.get(ClassValue.java:115)
at
<http://org.apache.pulsar.shade.org|org.apache.pulsar.shade.org>.apache.avro.specific.SpecificData.getSchema(SpecificData.java:346)
at
org.apache.pulsar.client.impl.schema.StructSchema.extractAvroSchema(StructSchema.java:174)
at
org.apache.pulsar.client.impl.schema.StructSchema.createAvroSchema(StructSchema.java:161)
at
org.apache.pulsar.client.impl.schema.StructSchema.parseSchemaInfo(StructSchema.java:187)
at
org.apache.pulsar.client.impl.schema.JSONSchema.of(JSONSchema.java:96)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at
org.apache.pulsar.client.internal.DefaultImplementation.lambda$newJSONSchema$26(DefaultImplementation.java:242)
at
org.apache.pulsar.client.internal.ReflectionUtils.catchExceptions(ReflectionUtils.java:35)
at
org.apache.pulsar.client.internal.DefaultImplementation.newJSONSchema(DefaultImplementation.java:239)
at org.apache.pulsar.client.api.Schema.JSON(Schema.java:260)
at CsvExample.createProducer(CsvExample.java:139)
at CsvExample.sendMessages(CsvExample.java:44)
----