package Ġuc fs . claim ant . consumer Ċ Ċ import Ġio . prometheus . client . spring . web . Enable Pro metheus Timing Ċ import Ġorg . springframework . boot . CommandLine Runner Ċ import Ġorg . springframework . boot . autoconfigure . SpringBoot Application Ċ import Ġorg . springframework . boot . run Application Ċ import Ġorg . springframework . cache . annotation . Enable Caching Ċ import Ġorg . springframework . retry . annotation . Enable Retry Ċ import Ġorg . springframework . scheduling . annotation . Enable Scheduling Ċ import Ġuc fs . claim ant . consumer . orche strate . Orche strator Ċ import Ġuc fs . claim ant . consumer . service . Metrics Service Ċ import Ġuk . gov . d wp . data works . logging . Data works Logger Ċ import Ġkotlin . system . exit Process Ċ import Ġkotlin . time . Experimental Time Ċ Ċ @ SpringBoot Application Ċ @ Enable Caching Ċ @ Enable Retry Ċ @ Enable Scheduling Ċ @ Enable Pro metheus Timing Ċ class ĠU cfs Claim ant Consumer ( ĊĠĠĠ Ġprivate Ġval Ġorche strator : ĠO rche strator , ĊĠĠĠ Ġprivate Ġval Ġmetrics Service : ĠMetrics Service , Ċ ) Ġ: ĠCommandLine Runner Ġ{ ĊĊĠĠĠ Ġ@ Experimental Time ĊĠĠĠ Ġoverride Ġfun Ġrun ( var arg Ġargs : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġmetrics Service . start Metrics Endpoint () ĊĠĠĠĠĠĠĠ Ġorche strator . orche strate () ĊĠĠĠ Ġ} Ċ Ċ } Ċ Ċ fun Ġmain ( args : ĠArray < String >) Ġ{ ĊĠĠĠ Ġval Ġlog Ġ= ĠData works Logger . getLogger (" main ") ĊĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠ Ġrun Application < U cfs Claim ant Consumer >(* args ) ĊĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠ Ġlog . error (" Application Ġerror ", Ġe ) ĊĠĠĠĠĠĠĠ Ġexit Process (- 1 ) ĊĠĠĠ Ġ} Ċ Ċ } Ċ