package Ġcf . data . kit . hub Ċ Ċ import Ġcf . data . kit . hub . Data Hub App . Companion . log Ċ import Ġorg . jetbrains . kotlin . cli . common . environment . set Ide a Io Use Fallback Ċ import Ġorg . slf 4 j . Logger Ċ import Ġorg . slf 4 j . LoggerFactory Ċ import Ġorg . springframework . boot . Spring Application Ċ import Ġorg . springframework . boot . autoconfigure . SpringBoot Application Ċ import Ġorg . springframework . context . Configurable ApplicationContext Ċ import Ġorg . springframework . context . annotation .* Ċ import Ġorg . springframework . data . jpa . repository . config . Enable Jpa Repositories Ċ import Ġorg . springframework . scheduling . annotation . Enable Async Ċ import Ġspring fox . documentation . builders . Api Info Builder Ċ import Ġspring fox . documentation . builders . Path Selectors Ċ import Ġspring fox . documentation . builders . RequestHandler Selectors Ċ import Ġspring fox . documentation . spi . Documentation Type Ċ import Ġspring fox . documentation . spring . web . plugins . D ocket Ċ import Ġspring fox . documentation . swagger 2 . annotations . Enable Swagger 2 Ċ Ċ @ Configuration Ċ @ Import Resource (" classpath : spring - k ts . xml ") Ċ @ Enable Jpa Repositories ( entityManager Factory Ref Ġ= Ġ" EM F ", ĊĠĠĠĠĠĠĠ Ġtransaction Manager Ref Ġ= Ġ" TM ", ĊĠĠĠĠĠĠĠ Ġbase Packages Ġ= Ġ[" cf . data . kit . hub . components "]) Ċ @ Component Scan (" cf . data . kit . hub . components ") Ċ @ Property Source (" classpath : application . properties ") Ċ //@ Configuration Properties ( prefix Ġ= Ġ" persistence ") Ċ @ Enable Async Ċ open Ġclass ĠRepo Cfg Ġ{ Ċ // ĠĠĠ Ġcompanion Ġobject Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġval ĠJ PA _ EM _ NAME Ġ= Ġ" unit - name " Ċ // ĠĠĠ Ġ} Ċ // Ċ // ĠĠĠ Ġlateinit Ġvar Ġcfg s : ĠMap < String , ĠString > Ċ // Ċ // ĠĠĠ Ġ@ Bean ( name Ġ= Ġ[" EM F "]) Ċ // ĠĠĠ Ġopen Ġfun Ġget EM F (): ĠEntity ManagerFactory Ġ= ĠPersistence . create EntityManager Factory ( cfg s [ J PA _ EM _ NAME ], Ġcfg s ) Ċ // Ċ // ĠĠĠ Ġ@ Bean ( name Ġ= Ġ[" TM "]) Ċ // ĠĠĠ Ġopen Ġfun Ġget TM (): ĠPlatform Transaction Manager Ġ= ĠJ pa Transaction Manager ( get EM F ()) Ċ // Ċ // ĠĠĠ Ġ// https :// stackoverflow . com / questions / 2 0 8 4 8 4 8 5 / spring - boot - cannot - use - persistence Ċ } Ċ Ċ @ SpringBoot Application Ċ open Ġclass ĠData Hub App Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlog : ĠLogger Ġ= ĠLoggerFactory . getLogger ( Data Hub App :: class . java ) ĊĠĠĠĠĠĠĠ Ġlateinit Ġvar Ġapp Ctx : ĠConfigur able ApplicationContext ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Configuration Ċ @ Enable Swagger 2 Ċ open Ġclass ĠSwagger 2 Ġ{ ĊĠĠĠ Ġ@ Bean ĊĠĠĠ Ġopen Ġfun Ġcreate RestApi (): ĠD ocket Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġapi Info Ġ= ĠApi Info Builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. title (" MF M ĠService ĠAPI ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. description (" Media ĠFile ĠService Ġapi Ġservice ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. version (" 1 . 0 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠĠĠĠĠ Ġreturn ĠD ocket ( Documentation Type . SW AG GER _ 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. for Code Generation ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. protocols ( set Of (" http ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. api Info ( api Info ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. select () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. apis ( RequestHandler Selectors . base Package (" cf . data . kit . hub . components . ctrl s ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. paths ( Path Selectors . any ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun Ġmain ( args : ĠArray < String >) Ġ{ ĊĠĠĠ Ġlog . info ("\ n \ t Data Hub App ĠStarting ...... ") ĊĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠ Ġset Ide a Io Use Fallback () ĊĠĠĠĠĠĠĠ ĠData Hub App . app Ctx Ġ= ĠSpring Application . run ( Data Hub App :: class . java , Ġ* args ) ĊĠĠĠĠĠĠĠ Ġlog . info (" init iation Ġfinished ") ĊĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠ Ġlog . error (" failed Ġto Ġstart ", Ġe ) ĊĠĠĠ Ġ} Ċ }