package Ġno . nav . f amil ie . til b ake . integration . kafka Ċ Ċ import Ġno . nav . f amil ie . kon tr ak ter . fel les . h istor ik kin n sl ag . Opp rett H istor ik kin n sl ag Request Ċ import Ġno . nav . f amil ie . kon tr ak ter . fel les . object Mapper Ċ import Ġno . nav . f amil ie . kon tr ak ter . fel les . til b ake k re ving . H ent F ags ystem s be handling Request Ċ import Ġno . nav . f amil ie . til b ake . common . exception handler . Fe il Ċ import Ġno . nav . f amil ie . til b ake . config . Kafka Config Ċ import Ġno . nav . f amil ie . til b ake . data vare hus . s aks stat ist ikk . sak sh en del se . Be handling st il stand Ċ import Ġno . nav . f amil ie . til b ake . data vare hus . s aks stat ist ikk . ved tak . V ed tak sop p summer ing Ċ import Ġorg . apache . kafka . clients . producer . Producer Record Ċ import Ġorg . slf 4 j . LoggerFactory Ċ import Ġorg . springframework . context . annotation . Profile Ċ import Ġorg . springframework . kafka . core . Kafka Template Ċ import Ġorg . springframework . stereotype . Service Ċ import Ġjava . util . UUID Ċ Ċ interface ĠKafka Producer Ġ{ ĊĊĠĠĠ Ġfun Ġsend H istor ik kin n sl ag ( be handling Id : ĠUUID , Ġkey : ĠString , Ġrequest : ĠO pp rett H istor ik kin n sl ag Request ) ĊĠĠĠ Ġfun Ġsend S aks data ( be handling Id : ĠUUID , Ġrequest : ĠBe handling st il stand ) ĊĠĠĠ Ġfun Ġsend V ed t aks data ( be handling Id : ĠUUID , Ġrequest : ĠV ed tak sop p summer ing ) ĊĠĠĠ Ġfun Ġsend H ent F ags ystem s be handling Request ( requestId : ĠUUID , Ġrequest : ĠH ent F ags ystem s be handling Request ) Ċ } Ċ Ċ @ Service Ċ @ Profile (" ! integr as jon st est Ġ& Ġ! e 2 e ") Ċ class ĠDefault Kafka Producer ( private Ġval Ġkafka Template : ĠKafka Template < String , ĠString >) Ġ: ĠKafka Producer Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġlog Ġ= ĠLoggerFactory . getLogger ( this :: class . java ) ĊĊĠĠĠ Ġoverride Ġfun Ġsend H istor ik kin n sl ag ( be handling Id : ĠUUID , Ġkey : ĠString , Ġrequest : ĠO pp rett H istor ik kin n sl ag Request ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsend K af k ame ld ing ( be handling Id , ĠKafka Config . HIST OR IK K _ TOPIC , Ġkey , Ġrequest ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġsend S aks data ( be handling Id : ĠUUID , Ġrequest : ĠBe handling st il stand ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsend K af k ame ld ing ( be handling Id , ĠKafka Config . SA K _ TOPIC , Ġrequest . be handling Uuid . toString (), Ġrequest ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġsend V ed t aks data ( be handling Id : ĠUUID , Ġrequest : ĠV ed tak sop p summer ing ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsend K af k ame ld ing ( be handling Id , ĠKafka Config . VED TA K _ TOPIC , Ġrequest . be handling Uuid . toString (), Ġrequest ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġsend H ent F ags ystem s be handling Request ( requestId : ĠUUID , Ġrequest : ĠH ent F ags ystem s be handling Request ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsend K af k ame ld ing ( requestId , ĠKafka Config . H ENT _ F AG SYSTEMS BE HAND LING _ REQUEST _ TOPIC , ĠrequestId . toString (), Ġrequest ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġsend K af k ame ld ing ( be handling Id : ĠUUID , Ġtopic : ĠString , Ġkey : ĠString , Ġrequest : ĠAny ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġme ld ing Ġ= ĠobjectMapper . writeValue AsString ( request ) ĊĠĠĠĠĠĠĠ Ġval Ġproducer Record Ġ= ĠProducer Record ( topic , Ġkey , Ġme ld ing ) ĊĠĠĠĠĠĠĠ Ġkafka Template . send ( producer Record ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Callback ({ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlog . info (" Mel ding ĠpÃ¥ Ġtopic Ġ$ topic Ġfor Ġ$ be handling Id Ġmed Ġ$ key Ġer Ġsend t . Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" F ikk Ġoffset Ġ${ it ?. record Metadata ?. offset () }") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfe il meld ing Ġ= Ġ" Mel ding ĠpÃ¥ Ġtopic Ġ$ topic Ġkan Ġik ke Ġsen des Ġfor Ġ$ be handling Id Ġmed Ġ$ key . Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Fe iler Ġmed Ġ${ it . message }" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlog . warn ( fe il meld ing ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠFe il ( message Ġ= Ġfe il meld ing ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Service Ċ @ Profile (" e 2 e ", Ġ" integr as jon st est ") Ċ class ĠE 2 EK afka Producer Ġ: ĠKafka Producer Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġsend H istor ik kin n sl ag ( be handling Id : ĠUUID , Ġkey : ĠString , Ġrequest : ĠO pp rett H istor ik kin n sl ag Request ) Ġ{ ĊĠĠĠĠĠĠĠ Ġlogger . info (" Skip per Ġsending Ġav Ġh istor ik kin n sl ag Ġfor Ġbe handling Ġ$ be handling Id Ġfor di Ġkafka Ġik ke Ġer Ġenable t ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġsend S aks data ( be handling Id : ĠUUID , Ġrequest : ĠBe handling st il stand ) Ġ{ ĊĠĠĠĠĠĠĠ Ġlogger . info (" Skip per Ġsending Ġav Ġs aks stat ist ikk Ġfor Ġbe handling Ġ$ be handling Id Ġfor di Ġkafka Ġik ke Ġer Ġenable t ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġsend V ed t aks data ( be handling Id : ĠUUID , Ġrequest : ĠV ed tak sop p summer ing ) Ġ{ ĊĠĠĠĠĠĠĠ Ġlogger . info (" Skip per Ġsending Ġav Ġved t aks stat ist ikk Ġfor Ġbe handling Ġ$ be handling Id Ġfor di Ġkafka Ġik ke Ġer Ġenable t ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġsend H ent F ags ystem s be handling Request ( requestId : ĠUUID , Ġrequest : ĠH ent F ags ystem s be handling Request ) Ġ{ ĊĠĠĠĠĠĠĠ Ġlogger . info (" Skip per Ġsending Ġav Ġinfo - request Ġfor Ġf ags ystem be handling Ġ${ request . ek st ern Id } Ġfor di Ġkafka Ġik ke Ġer Ġenable t ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġlogger Ġ= ĠLoggerFactory . getLogger ( E 2 EK afka Producer :: class . java ) ĊĠĠĠ Ġ} Ċ } Ċ