/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 1 6 . ĠSun gh you k ĠB ae Ġ< sun gh you k . bae @ gmail . com > Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ* Ċ Ġ*/ Ċ Ċ package Ġdeb op 4 k . data . mybatis . kotlin . cache Ċ Ċ import Ġdeb op 4 k . core . logger Of Ċ import Ġdeb op 4 k . data . mybatis . kotlin . config . Kotlin My Batis Configuration Ċ import Ġdeb op 4 k . data . mybatis . kotlin . map pers . Kotlin Actor Mapper Ċ import Ġnet . sf . eh cache . config . Cache Configuration Ċ import Ġnet . sf . eh cache . config . Configuration Ċ import Ġorg . mybatis . spring . annotation . Mapper Scan Ċ import Ġorg . springframework . cache . CacheManager Ċ import Ġorg . springframework . cache . annotation . Enable Caching Ċ import Ġorg . springframework . cache . eh cache . Eh Cache CacheManager Ċ import Ġorg . springframework . context . annotation . Bean Ċ import Ġorg . springframework . context . annotation . Component Scan Ċ Ċ @ Enable Caching ( proxy Target Class Ġ= Ġtrue ) Ċ @ Component Scan ( base Package Classes Ġ= ĠarrayOf ( Eh Cache Actor Repository :: class )) Ċ @ Mapper Scan ( base Package Classes Ġ= ĠarrayOf ( Kotlin Actor Mapper :: class )) Ċ open Ġclass ĠE h Cache Configuration Ġ: ĠKotlin My Batis Configuration () Ġ{ ĊĊĠ Ġprivate Ġval Ġlog Ġ= Ġlogger Of ( java Class ) ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠE h Cache ĠìĤ¬ìļ© ìĿĦ ĠìľĦ íķľ ĠíĻ ĺ ê²½ ìĦ ¤ ìłķ Ġìłķë³´ ĊĠĠ Ġ*/ ĊĠ Ġ@ Bean ĊĠ Ġopen Ġfun Ġeh cache Configuration (): ĠConfiguration Ġ{ ĊĠĠĠ Ġval Ġcfg Ġ= ĠConfiguration () ĊĊĠĠĠ Ġ// ĠNOTE : ĠE h Cache ĠëĬ Ķ Ġë ¯¸ ë¦¬ Ġcache Ġë ¥ ¼ ĠìłķìĿĺ íķ´ ì£¼ ìĸ´ ìķ¼ Ġíķľëĭ¤ . Ġ( Ġresources ĠìĿĺ Ġeh cache . xml ĠìĿ Ħ Ġë³ ´ë © ´ ĠìŀĲ ìĦ¸ íķľ ĠìĨį ìĦ± Ġë°ı ĠìĦ¤ ëªħ ìĿ´ ĠìŀĪìĬµëĭĪëĭ¤ Ġ) ĊĠĠĠ Ġ// Ġëĭ¤ë¥¸ Ġì º Ĳ ìĭľ ĠìĦľë²Ħ ëĬĶ Ġê·¸ ëŁ ´ ĠíķĦìļĶ ê°Ģ ĠìĹĨ ëĭ¤ . Ġ( Mem cached , ĠRedis , ĠH azelcast , ĠApache ĠIgn ite ) ĊĠĠĠ Ġ// ĊĠĠĠ Ġcfg . add Cache ( Cache Configuration (" kotlin - actors ", Ġ 1 0 0 0 0 )) ĊĠĠĠ Ġcfg . add Cache ( Cache Configuration (" kotlin - company ", Ġ 1 0 0 0 0 )) ĊĠĠĠ Ġcfg . name Ġ= Ġ" kotlin - mybatis - eh cache - manager - by - java - config " ĊĠĠĠ Ġreturn Ġcfg ĊĠ Ġ} ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠE h Cache ĠìĿĺ ĠCache Manager ĊĊĠĠ Ġ* Ġ@ param Ġcfg ĠE h Cache ĠìĿĺ ĠíĻ ĺ ê²½ ìĦ ¤ ìłķ ĊĠĠ Ġ*/ ĊĠ Ġ@ Bean ĊĠ Ġopen Ġfun Ġcache Manager ( cfg : ĠConfiguration ): Ġnet . sf . eh cache . CacheManager Ġ{ ĊĠĠĠ Ġreturn Ġnet . sf . eh cache . CacheManager ( cfg ) ĊĠ Ġ} ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠSpring ĠìĿĺ ĠCache Manager ĊĊĠĠ Ġ* Ġ@ param Ġeh cache Manager ĠE h Cache ìĿĺ ĠCache Manager ĊĠĠ Ġ*/ ĊĠ Ġ@ Bean ĊĠ Ġopen Ġfun Ġeh cache CacheManager ( eh cache Manager : Ġnet . sf . eh cache . CacheManager ): ĠCache Manager Ġ{ ĊĠĠĠ Ġval Ġcm Ġ= ĠE h Cache CacheManager ( eh cache Manager ) ĊĠĠĠ Ġif Ġ( cm . getCache (" kotlin - actors ") Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠ Ġthrow ĠRuntimeException (" Cache ĠìĦ¤ìłķ ìĿ´ Ġìŀ ĺ ëª » ëĲĺ ìĹĪ ìĬµëĭĪëĭ¤ .") ĊĠĠĠ Ġ} ĊĠĠĠ Ġlog . info (" Create ĠE h Cache ĠCache Man ag ner Ġinstance .") ĊĠĠĠ Ġreturn Ġcm ĊĠ Ġ} Ċ }