Igor Lavrentjev created CAMEL-12076:
---------------------------------------
Summary: Camel Kafka producer: Specified topic is ignored ("No
topic key set" error) when KafkaConfiguration is used
Key: CAMEL-12076
URL: https://issues.apache.org/jira/browse/CAMEL-12076
Project: Camel
Issue Type: Bug
Reporter: Igor Lavrentjev
Fix For: 2.20.1
Specified topic is ignored ("No topic key set" error) when KafkaConfiguration
is used. When topic is set inside KafkaConfiguration then no error occurs.
<spring-boot.version>1.5.8.RELEASE</spring-boot.version>
<camel.version>2.20.1</camel.version>
{code}
from("direct:sendToKafka")
.setBody(constant("Message from Camel to Kafka"))
.setHeader(KafkaConstants.KEY, constant("Camel"))
.to("kafka:TESTTOPIC?configuration=#kafkaConfiguration");
{code}
{code}
2017-12-11 14:16:35.466 ERROR 12048 --- [ad #1 - WireTap] CamelRouter
: Exchange[ExchangePattern: InOnly, BodyType: String, Body:
Message from Camel to Kafka, CaughtExceptionType:
org.apache.camel.CamelExchangeException, CaughtExcept
ionMessage: No topic key set. Exchange[ID-5CG7383K6H00BA-1512994577303-0-3],
StackTrace: org.apache.camel.CamelExchangeException: No topic key set.
Exchange[ID-5CG7383K6H00BA-1512994577303-0-3]
at
org.apache.camel.component.kafka.KafkaProducer.createRecorder(KafkaProducer.java:149)
at
org.apache.camel.component.kafka.KafkaProducer.process(KafkaProducer.java:251)
at
org.apache.camel.processor.SendProcessor.process(SendProcessor.java:148)
at
org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:548)
at
org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:201)
at org.apache.camel.processor.Pipeline.process(Pipeline.java:138)
at org.apache.camel.processor.Pipeline.process(Pipeline.java:101)
at
org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:201)
at
org.apache.camel.component.direct.DirectProducer.process(DirectProducer.java:62)
at
org.apache.camel.processor.SendDynamicProcessor$1.doInAsyncProducer(SendDynamicProcessor.java:132)
at
org.apache.camel.impl.ProducerCache.doInAsyncProducer(ProducerCache.java:445)
at
org.apache.camel.processor.SendDynamicProcessor.process(SendDynamicProcessor.java:127)
at
org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:548)
at
org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:201)
at
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:97)
at
org.apache.camel.processor.WireTapProcessor$1.call(WireTapProcessor.java:158)
at
org.apache.camel.processor.WireTapProcessor$1.call(WireTapProcessor.java:153)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
]
{code}
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)