package Ġcom . kafka . demo . controller . producer Ċ Ċ import Ġcom . kafka . demo . controller . Kafka Config Ċ import Ġorg . apache . kafka . clients . producer . Producer Record Ċ import Ġorg . springframework . http . Response Entity Ċ import Ġorg . springframework . kafka . core . Kafka Template Ċ import Ġorg . springframework . web . bind . annotation . GetMapping Ċ import Ġorg . springframework . web . bind . annotation . RequestParam Ċ import Ġorg . springframework . web . bind . annotation . RestController Ċ Ċ @ RestController Ċ class ĠMessage Producer Ġ{ ĊĊĠĠĠ Ġvar Ġkafka Template : ĠKafka Template < String , ĠString > Ġ= ĠKafka Config (). kafka Template () ĊĠĠĠ Ġval Ġtopic : ĠString Ġ= Ġ" test _ topic " ĊĊĠĠĠ Ġ@ GetMapping ("/ send ") ĊĠĠĠ Ġfun ĠsendMessage (@ RequestParam (" message ") Ġmessage : ĠString ): ĠResponseEntity < String > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsend Result Ġ= Ġkafka Template . send ( topic , Ġmessage ). get () ĊĠĠĠĠĠĠĠ Ġreturn ĠResponseEntity . ok ( send Result . producer Record . value () Ġ+ Ġ" Ġsent Ġto Ġtopic Ġ${ send Result . producer Record . topic () }") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ GetMapping ("/ produce ") ĊĠĠĠ Ġfun Ġproduce Message (@ RequestParam (" message ") Ġmessage : ĠString ): ĠResponseEntity < String > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġproducer Ġ= ĠKafka Config (). producer Factory (). create Producer () ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġproducer . send ( Producer Record ( topic , Ġmessage )). get () ĊĠĠĠĠĠĠĠ Ġreturn ĠResponseEntity . ok (" message : Ġ'$ message ' Ġsent Ġto Ġ" Ġ+ Ġresult . topic ()) ĊĠĠĠ Ġ} Ċ }