package Ġvn . edu . uit . pm cl 2 0 1 5 . movie _ recomm ender . entry _ point . rest Ċ Ċ import Ġorg . springframework . web . bind . annotation . GetMapping Ċ import Ġorg . springframework . web . bind . annotation . RequestParam Ċ import Ġorg . springframework . web . bind . annotation . RestController Ċ import Ġvn . edu . uit . pm cl 2 0 1 5 . movie _ recomm ender . core . entity . Domain Exception Ċ import Ġvn . edu . uit . pm cl 2 0 1 5 . movie _ recomm ender . entry _ point . EntryPoint Bootstrap Ċ Ċ /**************************************************************** ************************ *****/ Ċ /* ĠModels Ġ*/ ĊĊĊ Ċ /**************************************************************** ************************ *****/ Ċ /* ĠController Ġ*/ Ċ Ċ @ RestController Ċ open Ġclass ĠApp Controller ( private Ġval Ġentry Point Config : ĠRest EntryPoint Config , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġentry Point Bootstrap : ĠEntry Point Bootstrap ) Ġ{ ĊĠ Ġ@ GetMapping ("/ exit ") ĊĠ Ġfun Ġexit (@ RequestParam (" secret _ key ", Ġrequired Ġ= Ġtrue ) Ġsecret Key : ĠString ): ĠString Ġ{ ĊĠĠĠ Ġif Ġ( secret Key Ġ!= Ġentry Point Config . app Exit SecretKey ) Ġthrow ĠDomain Exception (" WRONG _ EXIT _ SECRET _ KEY ", Ġ" Incorrect Ġexit Ġsecret Ġcode ") ĊĊĠĠĠ ĠThread ({ ĊĠĠĠĠĠĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġentry Point Bootstrap . exit ( 0 ) ĊĠĠĠĠĠĠĠĠĠĠ Ġ}). start () ĊĊĠĠĠ Ġreturn Ġ" Accepted Ġexit Ġrequest . ĠApp Ġis Ġexiting Ġin Ġ 1 Ġsecond ." ĊĠ Ġ} Ċ }