package Ġcom . example . spring . domain Ċ Ċ import Ġorg . slf 4 j . LoggerFactory Ċ import Ġorg . springframework . kafka . annotation . Kafka Listener Ċ import Ġorg . springframework . kafka . core . Kafka Template Ċ import Ġorg . springframework . stereotype . Service Ċ Ċ @ Service Ċ class ĠMessage Service ( val Ġkafka Template : ĠKafka Template < String , ĠString >) Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġlog Ġ= ĠLoggerFactory . getLogger ( this :: class . java ) ĊĊĠĠĠ Ġfun Ġsend ( message : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġlog . info (" Sending ĠMessage = [$ message ] Ġto ĠTopic =[ ${ kafka Template . default Topic }] ") ĊĠĠĠĠĠĠĠ Ġkafka Template . send Default ( message ) ĊĠĠĠĠĠĠĠ Ġlog . info (" Sent ĠMessage = [$ message ] Ġto ĠTopic =[ ${ kafka Template . default Topic }] ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Kafka Listener ( topics Ġ= Ġ[" \ ${ spring . kafka . template . default - topic }" ]) ĊĠĠĠ Ġfun Ġprocess ( message : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġlog . info (" Consum ing ĠMessage = [$ message ] ĠTopic =[ ${ kafka Template . default Topic }] ") ĊĠĠĠĠĠĠĠ Ġ// ĠSome Ġbusiness Ġlogic ĊĠĠĠĠĠĠĠ Ġlog . info (" Cons umed ĠMessage = [$ message ] ĠTopic =[ ${ kafka Template . default Topic }] ") ĊĠĠĠ Ġ} Ċ Ċ }