/* Ċ Ġ* ĠThis ĠKotlin Ġsource Ġfile Ġwas Ġgenerated Ġby Ġthe ĠGradle Ġ' init ' Ġtask . Ċ Ġ*/ Ċ package Ġco y ote Ċ Ċ import Ġcom . xen om ach ina . arg parser . Arg Parser Ċ import Ġco y ote . config . ArgumentParser Ċ import Ġco y ote . config . Core Config Ċ import Ġco y ote . config . get Ċ import Ġmu . Kotlin Logging Ċ import Ġjava . net . Inet SocketAddress Ċ Ċ private Ġval Ġlogger Ġ= ĠKotlin Logging . logger Ġ{ Ġ} Ċ Ċ fun Ġmain ( args : ĠArray < String >) Ġ{ ĊĊĠĠĠ Ġval Ġparsed Args Ġ= ĠArg Parser ( args ). parse Into (:: ArgumentParser ) ĊĠĠĠ Ġlogger . info (" Running Ġprogram Ġwith Ġmode Ġ-- setup Ġ${ parsed Args . setup }") ĊĠĠĠ Ġlogger . info (" Running Ġprogram Ġwith Ġmode Ġ-- ignore - sync Ġ${ parsed Args . ignore Sync }") ĊĠĠĠ ĠSystem . setProperty ( org . slf 4 j . impl . Simple Logger . DEFAULT _ LOG _ LEVEL _ KEY , Ġ" info ") ĊĠĠĠ Ġif Ġ( parsed Args . setup ) Ġ{ ĊĠĠĠĠĠĠĠ Ġlogger . warn (" Running Ġ-- setup Ġfor Ġupdating Ġdatabases Ġwith ĠEx posed DAO .") ĊĠĠĠĠĠĠĠ Ġ// TODO ( Add Ġspecific Ġ- setup ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġservice Ġ= ĠProxy Service ( Inet SocketAddress (" 0 . 0 . 0 . 0 ", ĠCore Config . Api . port . get ), Ġworkers Ġ= ĠRuntime . get Runtime (). available Processors () Ġ* ĠCore Config . Api . threads . get ) ĊĊĠĠĠĠĠĠĠ ĠRuntime . get Runtime (). add Shutdown Hook ( object Ġ: ĠThread () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġrun () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlogger . error (" Shutdown ĠHook Ġis Ġcalled ! ĠSto pping Ġservice .... ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġservice . stop () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlogger . error (" Service Ġis Ġstopped !") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġservice . run () ĊĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠ Ġ} Ċ } Ċ