package Ġcom . tr ank im t ung . quick fix j . spring . boot . starter . connection Ċ Ċ import Ġorg . springframework . boot . context . properties . Configuration Properties Ċ import Ġorg . springframework . boot . context . properties . Constructor Binding Ċ import Ġquick fix . Connector Ċ Ċ /** Ċ Ġ* ĠQuick Fix / J Ġstarter Ġproperties . Ċ Ġ*/ Ċ @ Constructor Binding Ċ @ Configuration Properties ( prefix Ġ= ĠQuick Fix J Boot Properties . PROPERTY _ PREFIX ) Ċ data Ġclass ĠQuick Fix J Boot Properties ( ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠClient Ġproperties . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval Ġclient : ĠConnector Config Ġ= ĠConnector Config (), ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠServer Ġproperties . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval Ġserver : ĠConnector Config Ġ= ĠConnector Config () Ċ ) Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠPROPERTY _ PREFIX Ġ= Ġ" kt . quick fix j " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠQuick Fix / J Ġconnector Ġproperties . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġdata Ġclass ĠConnector Config ( ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠQuick Fix / J Ġconfiguration Ġfile Ġlocation . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġvar Ġconfig : ĠString ? Ġ= Ġnull , ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠShould Ġthe Ġ[ quick fix . Connector ] Ġstarts Ġwhen Ġapplication Ġcontext Ġhas Ġbeen Ġref reshed . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġvar Ġauto Startup : ĠBoolean Ġ= Ġtrue , ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠPhase Ġin Ġwhich Ġthe Ġ[ Connector ] Ġshould Ġstart / shutdown . ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ see Ġ[ org . springframework . context . Smart Lifecycle ] ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġvar Ġstartup Phase : ĠInt Ġ= ĠInt . MAX _ VALUE , ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠShould Ġthe Ġ[ quick fix . Connector ] Ġwait Ġfor Ġlogout Ġto Ġcomplete Ġbefore Ġstopping . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġvar Ġforce Disconnect : ĠBoolean Ġ= Ġfalse , ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠJ MX Ġconfiguration . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġvar Ġj mx : ĠJ mx Ġ= ĠJ mx (), ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠThread ing Ġmodel Ġconfiguration . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġvar Ġconcurrent : ĠConcurrent Ġ= ĠConcurrent (), ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠMessage Ġstore Ġfactory Ġconfiguration . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġvar Ġmessage Store Factory : ĠMessage Store Factory Ġ= ĠMessage Store Factory (), ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠLog Ġfactory Ġconfiguration . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġvar Ġlog Factory : ĠLog Factory Ġ= ĠLog Factory () ĊĠĠĠ Ġ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠThread ing Ġmodel Ġconfiguration ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġdata Ġclass ĠConcurrent ( ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* ĠDec ides Ġif Ġthe Ġ[ Connector ] Ġshould Ġuse Ġmulti - thread Ġto Ġprocess Ġmessages . ĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* Ġ- Ġif Ġ* true *, Ġaccepts Ġconnections Ġand Ġuses Ġa Ġseparate Ġthread Ġper Ġsession Ġto Ġprocess Ġmessages . ĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* Ġ- Ġif Ġ* false *, Ġaccepts Ġconnections Ġand Ġuses Ġa Ġsingle Ġthread Ġto Ġprocess Ġmessages Ġfor Ġall Ġsessions . ĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġenabled : ĠBoolean Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠJ mx Ġconfiguration . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġdata Ġclass ĠJ mx ( ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* ĠEnables ĠJ MX Ġsupport ĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġenabled : ĠBoolean Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* Ġ[ Message Store Factory ] Ġconfiguration . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġdata Ġclass ĠMessage Store Factory ( ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* ĠThe Ġ[ Message Store Factory Type ] Ġto Ġuse . ĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġtype : ĠMessage Store Factory Type Ġ= ĠMessage Store Factory Type . MEMORY , ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* ĠUses ĠSpring 's ĠDataSource Ġwhen Ġtype Ġis Ġ[ Message Store Factory Type . JDBC ]. ĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġuse Spring Jdbc : ĠBoolean Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* Ġ[ Log Factory ] Ġconfiguration . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġdata Ġclass ĠLog Factory ( ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* ĠThe Ġ[ Message Store Factory Type ] Ġlist Ġto Ġuse . ĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġtype : ĠArray < Log Factory Type > Ġ= ĠarrayOf ( Log Factory Type . SL F 4 J ), ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* ĠUses ĠSpring 's ĠDataSource Ġwhen Ġtype Ġis Ġ[ Log Factory Type . JDBC ]. ĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġuse Spring Jdbc : ĠBoolean Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġequals ( other : ĠAny ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( this Ġ=== Ġother ) Ġreturn Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( java Class Ġ!= Ġother ?. java Class ) Ġreturn Ġfalse ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġother Ġas ĠLog Factory ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! type . content Equals ( other . type )) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( use Spring Jdbc Ġ!= Ġother . use Spring Jdbc ) Ġreturn Ġfalse ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠhashCode (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġresult Ġ= Ġtype . content HashCode () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġuse Spring Jdbc . hashCode () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġresult ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }