package Ġno . nav . sy fo . handle status Ċ Ċ import Ġnet . logstash . log back . argument . Structured Arguments . fields Ċ import Ġno . nav . hel se . ei F el les format . X MLE IF el les format Ċ import Ġno . nav . sy fo . app rec . App rec Status Ċ import Ġno . nav . sy fo . client . create Arena Info Ċ import Ġno . nav . sy fo . log Ċ import Ġno . nav . sy fo . model . Le ge erk la ering Ċ import Ġno . nav . sy fo . model . Le ge erk la ering S ak Ċ import Ġno . nav . sy fo . services . send Receipt Ċ import Ġno . nav . sy fo . util . Logging Meta Ċ import Ġno . nav . sy fo . util . arena Marshaller Ċ import Ġno . nav . sy fo . util . toString Ċ import Ġorg . apache . kafka . clients . producer . Kafka Producer Ċ import Ġorg . apache . kafka . clients . producer . Producer Record Ċ import Ġjavax . jms . Message Producer Ċ import Ġjavax . jms . Session Ċ Ċ fun Ġhandle StatusOK ( ĊĠĠĠ Ġsession : ĠSession , ĊĠĠĠ Ġreceipt Producer : ĠMessage Producer , ĊĠĠĠ Ġfel les format : ĠX MLE IF el les format , ĊĠĠĠ Ġarena Producer : ĠMessage Producer , ĊĠĠĠ Ġt ss Id : ĠString ?, ĊĠĠĠ Ġed i Log g Id : ĠString , ĊĠĠĠ Ġfn r Le ge : ĠString , ĊĠĠĠ Ġle ge erk lar ing : ĠLe ge erk la ering , ĊĠĠĠ Ġlogging Meta : ĠLogging Meta , ĊĠĠĠ Ġkafka Producer Le ge erk la ering S ak : ĠKafka Producer < String , ĠLe ge erk la ering S ak >, ĊĠĠĠ Ġp ale 2 Ok Topic : ĠString , ĊĠĠĠ Ġle ge erk la ering S ak : ĠLe ge erk la ering S ak , ĊĠĠĠ Ġapp rec Queue Name : ĠString Ċ ) Ġ{ ĊĠĠĠ Ġsend Receipt ( session , Ġreceipt Producer , Ġfel les format , ĠApp rec Status . ok ) ĊĠĠĠ Ġlog . info (" App rec ĠRe ceipt Ġsent Ġto Ġ{}, Ġ{}", Ġapp rec Queue Name , Ġfields ( logging Meta )) ĊĊĠĠĠ Ġsend Arena Info ( ĊĠĠĠĠĠĠĠ Ġarena Producer , Ġsession , ĊĠĠĠĠĠĠĠ Ġt ss Id , Ġed i Log g Id , Ġfn r Le ge , Ġle ge erk lar ing ĊĠĠĠ Ġ) ĊĠĠĠ Ġlog . info (" Le ge er kl Ã¦ ring Ġsend t Ġtil Ġarena , Ġ{}", Ġfields ( logging Meta )) ĊĊĠĠĠ Ġsend Til OK Topic ( kafka Producer Le ge erk la ering S ak , Ġp ale 2 Ok Topic , Ġle ge erk la ering S ak , Ġlogging Meta ) Ċ } Ċ Ċ fun Ġsend Arena Info ( ĊĠĠĠ Ġproducer : ĠMessage Producer , ĊĠĠĠ Ġsession : ĠSession , ĊĠĠĠ Ġt ss Id : ĠString ?, ĊĠĠĠ Ġmot tak id : ĠString , ĊĠĠĠ Ġfn r be handler : ĠString , ĊĠĠĠ Ġle ge erk lar ing : ĠLe ge erk la ering Ċ ) Ġ= Ġproducer . send ( ĊĠĠĠ Ġsession . createText Message (). apply Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġinfo Ġ= Ġcreate Arena Info ( t ss Id , Ġmot tak id , Ġfn r be handler , Ġle ge erk lar ing ) ĊĠĠĠĠĠĠĠ Ġtext Ġ= Ġarena Marshaller . toString ( info ) ĊĠĠĠ Ġ} Ċ ) Ċ Ċ fun Ġsend Til OK Topic ( ĊĠĠĠ Ġkafka Producer Le ge erk la ering S ak : ĠKafka Producer < String , ĠLe ge erk la ering S ak >, ĊĠĠĠ Ġp ale 2 Ok Topic : ĠString , ĊĠĠĠ Ġle ge erk la ering S ak : ĠLe ge erk la ering S ak , ĊĠĠĠ Ġlogging Meta : ĠLogging Meta Ċ ) Ġ{ ĊĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠ Ġkafka Producer Le ge erk la ering S ak . send ( Producer Record ( p ale 2 Ok Topic , Ġle ge erk la ering S ak )). get () ĊĠĠĠĠĠĠĠ Ġlog . info (" Mel ding Ġsend t Ġtil Ġkafka Ġtopic Ġ{}", Ġp ale 2 Ok Topic ) ĊĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠ Ġlog . error (" No e Ġg ikk Ġg alt Ġved Ġsending Ġtil Ġok - topic , Ġ{}, Ġ{}", Ġe . message , Ġfields ( logging Meta )) ĊĠĠĠĠĠĠĠ Ġthrow Ġe ĊĠĠĠ Ġ} Ċ } Ċ