package Ġno . nav . sy fo . service Ċ Ċ import Ġno . nav . sy fo . ak sess ering . db . h ent Ant all Sy k meld inger Ċ import Ġno . nav . sy fo . ak sess ering . db . h ent Sy k meld inger Ċ import Ġno . nav . sy fo . db . Database Interface Ċ import Ġno . nav . sy fo . kafka . Sy k meld ing Kafka Producer Ċ import Ġno . nav . sy fo . log Ċ Ċ class ĠS yk meld ing Service ( ĊĠĠĠ Ġprivate Ġval Ġsy k meld ing Kafka Producer : ĠS yk meld ing Kafka Producer , ĊĠĠĠ Ġprivate Ġval Ġdatabase : ĠDatabase Interface , ĊĠĠĠ Ġprivate Ġval Ġbatch Size : ĠInt Ċ ) Ġ{ ĊĊĠĠĠ Ġfun Ġrun (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġh ent ant all Sy k meld inger Ġ= Ġdatabase . h ent Ant all Sy k meld inger () ĊĠĠĠĠĠĠĠ Ġlog . info (" Ant all Ġsy k meld inger Ġsom Ġfin nes Ġi Ġdatab as en : Ġ Ġ{}", Ġh ent ant all Sy k meld inger . first (). ant all ) ĊĠĠĠĠĠĠĠ Ġvar Ġcounter Ġ= Ġ 0 ĊĊĠĠĠĠĠĠĠ Ġval Ġant all Sy k meld inger Ġ= Ġh ent ant all Sy k meld inger . first (). ant all . toInt () ĊĊĠĠĠĠĠĠĠ Ġwhile Ġ( ant all Sy k meld inger Ġ> Ġcounter ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġh ent et Sy k meld inger Ġ= Ġdatabase . h ent Sy k meld inger ( counter Ġ+ Ġ 1 , Ġcounter Ġ+ Ġbatch Size ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( sy k meld ing Ġin Ġh ent et Sy k meld inger ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsy k meld ing Kafka Producer . publish To Kafka ( sy k meld ing ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcounter Ġ+= Ġh ent et Sy k meld inger . size ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlog . info (" Ant all Ġsy k meld inger Ġsom Ġer Ġh ent et Ġi Ġdet te Ġfor so ket : Ġ Ġ{} Ġtotal t Ġ{}", Ġh ent et Sy k meld inger . size , Ġcounter ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġcounter ĊĠĠĠ Ġ} Ċ } Ċ