You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@kafka.apache.org by chinchu chinchu <ch...@gmail.com> on 2018/10/29 21:56:13 UTC
Error when using mockSchemaregistry
Hey folks,
I am getting the below exception when using a mockSchemaRegsitry in a
junit test . I appreciate your help.I am using confluent 4.0
private SchemaRegistryClient schemaRegistry;
private KafkaAvroSerializer avroSerializer;
Properties defaultConfig = new Properties();
defaultConfig.put(KafkaAvroDeserializerConfig.SCHEMA_REGISTRY_URL_CONFIG, "
http://fake-url");
defaultConfig.put("auto.register.schemas", false);
schemaRegistry = new MockSchemaRegistryClient();
avroSerializer = new KafkaAvroSerializer(schemaRegistry, new
HashMap(defaultConfig));
Map<String, Object> senderProps =
KafkaTestUtils.producerProps(embeddedKafka);
senderProps.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG,
StringSerializer.class);
senderProps.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG,avroSerializer.getClass());
KafkaProducer<String, Log> producer = new
KafkaProducer<String,Log>(senderProps);
ProducerRecord<String,Log> record =new
ProducerRecord<String,Log>("test2","1",log);
try {
producer.send(record).get();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Error
==============
org.apache.kafka.common.KafkaException: Failed to construct kafka producer
at
org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:441)
at
org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:268)
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.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
at
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
at
org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at
org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:48)
at org.junit.rules.RunRules.evaluate(RunRules.java:20)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at
org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86)
at
org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:538)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:760)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:460)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:206)
Caused by: io.confluent.common.config.ConfigException: Missing required
configuration "schema.registry.url" which has no default value.
at io.confluent.common.config.ConfigDef.parse(ConfigDef.java:243)
at io.confluent.common.config.AbstractConfig.<init>(AbstractConfig.java:78)
at
io.confluent.kafka.serializers.AbstractKafkaAvroSerDeConfig.<init>(AbstractKafkaAvroSerDeConfig.java:61)
at
io.confluent.kafka.serializers.KafkaAvroSerializerConfig.<init>(KafkaAvroSerializerConfig.java:32)
at
io.confluent.kafka.serializers.KafkaAvroSerializer.configure(KafkaAvroSerializer.java:48)
at
org.apache.kafka.common.serialization.ExtendedSerializer$Wrapper.configure(ExtendedSerializer.java:60)
at
org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:360)
... 28 more
Re: Error when using mockSchemaregistry
Posted by "Matthias J. Sax" <ma...@confluent.io>.
You can use `ByteArrayDeserializer` to get `byte[]` key and value from
the consumer and deserialize both "manually" using AvorDeserializer that
is created with MockSchemaRegistry. `ConsumerRecord` also give you the
topic name for each record via #topic().
-Matthias
On 10/29/18 4:03 PM, chinchu chinchu wrote:
> Thanks Mathias . How do I deal with this scenario in the case of a
> consumer that expects a specific record type ?.I am trying to write an
> integration test for a scenario for the below scenairo.All of these uses
> an avro object as the value for producer record .I am kind of able to
> write this for simple data types but have no luck with avro.
>
> Produces record > topic > consumer > doWork() > produce .
>
> On Mon, Oct 29, 2018 at 4:50 PM Matthias J. Sax <ma...@confluent.io>
> wrote:
>
>> You set:
>>
>>>
>> senderProps.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG,avroSerializer.getClass());
>>
>> This will tell the Producer to create a new AvroSerailizer object, and
>> this object expects "schema.registry.url" to be set during
>> initialization, ie, you need to add the config to `senderProps`.
>>
>> However, this will overall not give you want to what IMHO, as the
>> Producer won't used MockSchemaRegistry for this case.
>>
>> You would need to use
>>
>>> avroSerializer = new KafkaAvroSerializer(schemaRegistry, new
>> HashMap(defaultConfig));
>>
>> outside of the producer in your tests (ie, serialize the data
>> "manually"), and pass `byte[]/byte[]` type into the producer itself.
>>
>>
>> -Matthias
>>
>> On 10/29/18 2:56 PM, chinchu chinchu wrote:
>>> Hey folks,
>>> I am getting the below exception when using a mockSchemaRegsitry in a
>>> junit test . I appreciate your help.I am using confluent 4.0
>>>
>>>
>>> private SchemaRegistryClient schemaRegistry;
>>> private KafkaAvroSerializer avroSerializer;
>>>
>>> Properties defaultConfig = new Properties();
>>>
>> defaultConfig.put(KafkaAvroDeserializerConfig.SCHEMA_REGISTRY_URL_CONFIG, "
>>> http://fake-url");
>>> defaultConfig.put("auto.register.schemas", false);
>>> schemaRegistry = new MockSchemaRegistryClient();
>>> avroSerializer = new KafkaAvroSerializer(schemaRegistry, new
>>> HashMap(defaultConfig));
>>> Map<String, Object> senderProps =
>>> KafkaTestUtils.producerProps(embeddedKafka);
>>> senderProps.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG,
>>> StringSerializer.class);
>>>
>> senderProps.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG,avroSerializer.getClass());
>>> KafkaProducer<String, Log> producer = new
>>> KafkaProducer<String,Log>(senderProps);
>>> ProducerRecord<String,Log> record =new
>>> ProducerRecord<String,Log>("test2","1",log);
>>> try {
>>> producer.send(record).get();
>>> } catch (InterruptedException e) {
>>> // TODO Auto-generated catch block
>>> e.printStackTrace();
>>> }
>>>
>>> Error
>>> ==============
>>> org.apache.kafka.common.KafkaException: Failed to construct kafka
>> producer
>>> at
>>>
>> org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:441)
>>> at
>>>
>> org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:268)
>>> 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.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
>>> at
>>>
>> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
>>> at
>>>
>> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
>>> at
>>>
>> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
>>> at
>>>
>> org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
>>> at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
>>> at
>>>
>> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
>>> at
>>>
>> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
>>> at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
>>> at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
>>> at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
>>> at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
>>> at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
>>> at org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:48)
>>> at org.junit.rules.RunRules.evaluate(RunRules.java:20)
>>> at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
>>> at
>>>
>> org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86)
>>> at
>>>
>> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
>>> at
>>>
>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:538)
>>> at
>>>
>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:760)
>>> at
>>>
>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:460)
>>> at
>>>
>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:206)
>>> Caused by: io.confluent.common.config.ConfigException: Missing required
>>> configuration "schema.registry.url" which has no default value.
>>> at io.confluent.common.config.ConfigDef.parse(ConfigDef.java:243)
>>> at
>> io.confluent.common.config.AbstractConfig.<init>(AbstractConfig.java:78)
>>> at
>>>
>> io.confluent.kafka.serializers.AbstractKafkaAvroSerDeConfig.<init>(AbstractKafkaAvroSerDeConfig.java:61)
>>> at
>>>
>> io.confluent.kafka.serializers.KafkaAvroSerializerConfig.<init>(KafkaAvroSerializerConfig.java:32)
>>> at
>>>
>> io.confluent.kafka.serializers.KafkaAvroSerializer.configure(KafkaAvroSerializer.java:48)
>>> at
>>>
>> org.apache.kafka.common.serialization.ExtendedSerializer$Wrapper.configure(ExtendedSerializer.java:60)
>>> at
>>>
>> org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:360)
>>> ... 28 more
>>>
>>
>>
>
Re: Error when using mockSchemaregistry
Posted by chinchu chinchu <ch...@gmail.com>.
Thanks Mathias . How do I deal with this scenario in the case of a
consumer that expects a specific record type ?.I am trying to write an
integration test for a scenario for the below scenairo.All of these uses
an avro object as the value for producer record .I am kind of able to
write this for simple data types but have no luck with avro.
Produces record > topic > consumer > doWork() > produce .
On Mon, Oct 29, 2018 at 4:50 PM Matthias J. Sax <ma...@confluent.io>
wrote:
> You set:
>
> >
> senderProps.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG,avroSerializer.getClass());
>
> This will tell the Producer to create a new AvroSerailizer object, and
> this object expects "schema.registry.url" to be set during
> initialization, ie, you need to add the config to `senderProps`.
>
> However, this will overall not give you want to what IMHO, as the
> Producer won't used MockSchemaRegistry for this case.
>
> You would need to use
>
> > avroSerializer = new KafkaAvroSerializer(schemaRegistry, new
> HashMap(defaultConfig));
>
> outside of the producer in your tests (ie, serialize the data
> "manually"), and pass `byte[]/byte[]` type into the producer itself.
>
>
> -Matthias
>
> On 10/29/18 2:56 PM, chinchu chinchu wrote:
> > Hey folks,
> > I am getting the below exception when using a mockSchemaRegsitry in a
> > junit test . I appreciate your help.I am using confluent 4.0
> >
> >
> > private SchemaRegistryClient schemaRegistry;
> > private KafkaAvroSerializer avroSerializer;
> >
> > Properties defaultConfig = new Properties();
> >
> defaultConfig.put(KafkaAvroDeserializerConfig.SCHEMA_REGISTRY_URL_CONFIG, "
> > http://fake-url");
> > defaultConfig.put("auto.register.schemas", false);
> > schemaRegistry = new MockSchemaRegistryClient();
> > avroSerializer = new KafkaAvroSerializer(schemaRegistry, new
> > HashMap(defaultConfig));
> > Map<String, Object> senderProps =
> > KafkaTestUtils.producerProps(embeddedKafka);
> > senderProps.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG,
> > StringSerializer.class);
> >
> senderProps.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG,avroSerializer.getClass());
> > KafkaProducer<String, Log> producer = new
> > KafkaProducer<String,Log>(senderProps);
> > ProducerRecord<String,Log> record =new
> > ProducerRecord<String,Log>("test2","1",log);
> > try {
> > producer.send(record).get();
> > } catch (InterruptedException e) {
> > // TODO Auto-generated catch block
> > e.printStackTrace();
> > }
> >
> > Error
> > ==============
> > org.apache.kafka.common.KafkaException: Failed to construct kafka
> producer
> > at
> >
> org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:441)
> > at
> >
> org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:268)
> > 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.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
> > at
> >
> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
> > at
> >
> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
> > at
> >
> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
> > at
> >
> org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
> > at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
> > at
> >
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
> > at
> >
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
> > at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
> > at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
> > at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
> > at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
> > at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
> > at org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:48)
> > at org.junit.rules.RunRules.evaluate(RunRules.java:20)
> > at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
> > at
> >
> org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86)
> > at
> >
> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
> > at
> >
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:538)
> > at
> >
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:760)
> > at
> >
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:460)
> > at
> >
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:206)
> > Caused by: io.confluent.common.config.ConfigException: Missing required
> > configuration "schema.registry.url" which has no default value.
> > at io.confluent.common.config.ConfigDef.parse(ConfigDef.java:243)
> > at
> io.confluent.common.config.AbstractConfig.<init>(AbstractConfig.java:78)
> > at
> >
> io.confluent.kafka.serializers.AbstractKafkaAvroSerDeConfig.<init>(AbstractKafkaAvroSerDeConfig.java:61)
> > at
> >
> io.confluent.kafka.serializers.KafkaAvroSerializerConfig.<init>(KafkaAvroSerializerConfig.java:32)
> > at
> >
> io.confluent.kafka.serializers.KafkaAvroSerializer.configure(KafkaAvroSerializer.java:48)
> > at
> >
> org.apache.kafka.common.serialization.ExtendedSerializer$Wrapper.configure(ExtendedSerializer.java:60)
> > at
> >
> org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:360)
> > ... 28 more
> >
>
>
Re: Error when using mockSchemaregistry
Posted by "Matthias J. Sax" <ma...@confluent.io>.
You set:
> senderProps.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG,avroSerializer.getClass());
This will tell the Producer to create a new AvroSerailizer object, and
this object expects "schema.registry.url" to be set during
initialization, ie, you need to add the config to `senderProps`.
However, this will overall not give you want to what IMHO, as the
Producer won't used MockSchemaRegistry for this case.
You would need to use
> avroSerializer = new KafkaAvroSerializer(schemaRegistry, new HashMap(defaultConfig));
outside of the producer in your tests (ie, serialize the data
"manually"), and pass `byte[]/byte[]` type into the producer itself.
-Matthias
On 10/29/18 2:56 PM, chinchu chinchu wrote:
> Hey folks,
> I am getting the below exception when using a mockSchemaRegsitry in a
> junit test . I appreciate your help.I am using confluent 4.0
>
>
> private SchemaRegistryClient schemaRegistry;
> private KafkaAvroSerializer avroSerializer;
>
> Properties defaultConfig = new Properties();
> defaultConfig.put(KafkaAvroDeserializerConfig.SCHEMA_REGISTRY_URL_CONFIG, "
> http://fake-url");
> defaultConfig.put("auto.register.schemas", false);
> schemaRegistry = new MockSchemaRegistryClient();
> avroSerializer = new KafkaAvroSerializer(schemaRegistry, new
> HashMap(defaultConfig));
> Map<String, Object> senderProps =
> KafkaTestUtils.producerProps(embeddedKafka);
> senderProps.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG,
> StringSerializer.class);
> senderProps.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG,avroSerializer.getClass());
> KafkaProducer<String, Log> producer = new
> KafkaProducer<String,Log>(senderProps);
> ProducerRecord<String,Log> record =new
> ProducerRecord<String,Log>("test2","1",log);
> try {
> producer.send(record).get();
> } catch (InterruptedException e) {
> // TODO Auto-generated catch block
> e.printStackTrace();
> }
>
> Error
> ==============
> org.apache.kafka.common.KafkaException: Failed to construct kafka producer
> at
> org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:441)
> at
> org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:268)
> 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.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
> at
> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
> at
> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
> at
> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
> at
> org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
> at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
> at
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
> at
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
> at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
> at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
> at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
> at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
> at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
> at org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:48)
> at org.junit.rules.RunRules.evaluate(RunRules.java:20)
> at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
> at
> org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86)
> at
> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
> at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:538)
> at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:760)
> at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:460)
> at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:206)
> Caused by: io.confluent.common.config.ConfigException: Missing required
> configuration "schema.registry.url" which has no default value.
> at io.confluent.common.config.ConfigDef.parse(ConfigDef.java:243)
> at io.confluent.common.config.AbstractConfig.<init>(AbstractConfig.java:78)
> at
> io.confluent.kafka.serializers.AbstractKafkaAvroSerDeConfig.<init>(AbstractKafkaAvroSerDeConfig.java:61)
> at
> io.confluent.kafka.serializers.KafkaAvroSerializerConfig.<init>(KafkaAvroSerializerConfig.java:32)
> at
> io.confluent.kafka.serializers.KafkaAvroSerializer.configure(KafkaAvroSerializer.java:48)
> at
> org.apache.kafka.common.serialization.ExtendedSerializer$Wrapper.configure(ExtendedSerializer.java:60)
> at
> org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:360)
> ... 28 more
>