рдЕрдкрд╛рдЪреЗ рдЗрдЧреНрдирд╛рдЗрдЯ рд╢реВрдиреНрдп рдкрд░рд┐рдирд┐рдпреЛрдЬрди: рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╢реВрдиреНрдп?

рдЕрдкрд╛рдЪреЗ рдЗрдЧреНрдирд╛рдЗрдЯ рд╢реВрдиреНрдп рдкрд░рд┐рдирд┐рдпреЛрдЬрди: рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╢реВрдиреНрдп?

рд╣рдо рдПрдХ рдЦреБрджрд░рд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХреА рд╡рд┐рдХрд╛рд╕ рд╡рд┐рднрд╛рдЧ рд╣реИрдВред рдПрдХ рджрд┐рди, рдкреНрд░рдмрдВрдзрди рдиреЗ MSSQL рдХреЗ рд╕рд╛рде рдЕрдкрд╛рдЪреЗ рдЗрдЧреНрдирд╛рдЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рдЧрдгрдирд╛рдУрдВ рдХреЛ рдЧрддрд┐ рджреЗрдиреЗ рдХрд╛ рдХрд╛рд░реНрдп рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛, рдФрд░ рд╕реБрдВрджрд░ рдЪрд┐рддреНрд░реЛрдВ рдФрд░ рдЬрд╛рд╡рд╛ рдХреЛрдб рдХреЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ рджрд┐рдЦрд╛рдИред рдореБрдЭреЗ рд╕рд╛рдЗрдЯ рддреБрд░рдВрдд рдкрд╕рдВрдж рдЖ рдЧрдИ рд╢реВрдиреНрдп рдкрд░рд┐рдирд┐рдпреЛрдЬрди, рдЬрд┐рд╕рдХрд╛ рд╡рд░реНрдгрди рдЪрдорддреНрдХрд╛рд░ рдХрд╛ рд╡рд╛рджрд╛ рдХрд░рддрд╛ рд╣реИ: рдЖрдкрдХреЛ рдЧреНрд░рд┐рдб рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдб рдкрд░ рдЕрдкрдиреЗ рдЬрд╛рд╡рд╛ рдпрд╛ рд╕реНрдХрд╛рд▓рд╛ рдХреЛрдб рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рддреИрдирд╛рдд рдХрд░рдиреЗ рдФрд░ рд╣рд░ рдмрд╛рд░ рдкрд░рд┐рд╡рд░реНрддрди рд╣реЛрдиреЗ рдкрд░ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдЬреИрд╕реЗ-рдЬреИрд╕реЗ рдХрд╛рдо рдЖрдЧреЗ рдмрдврд╝рд╛, рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдЬреАрд░реЛ рдбрд┐рдкреНрд▓реЙрдпрдореЗрдВрдЯ рдХреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрдкрдпреЛрдЧ рд╣реИрдВ, рдЬрд┐рдирдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рдореИрдВ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдХрдЯ рдХреЗ рдиреАрдЪреЗ рд╡рд┐рдЪрд╛рд░ рдФрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╡рд┐рд╡рд░рдг рд╣реИрдВред

1. рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╡рд┐рд╡рд░рдг

рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ. рдПрдХ SalesPoint рд╡рд┐рдХреНрд░рдп рдмрд┐рдВрджреБ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдФрд░ рдПрдХ Sku (рд╕реНрдЯреЙрдХ рдХреАрдкрд┐рдВрдЧ рдпреВрдирд┐рдЯ) рдЙрддреНрдкрд╛рдж рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╣реИред рд╡рд┐рдХреНрд░рдп рд╕реНрдерд▓ рдореЗрдВ "рдЫреЛрдЯрд╛" рдФрд░ "рдмрдбрд╝рд╛" рдорд╛рдиреЛрдВ рдХреЗ рд╕рд╛рде "рд╕реНрдЯреЛрд░ рдкреНрд░рдХрд╛рд░" рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реЛрддреА рд╣реИред рдПрдХ рд╡рд░реНрдЧреАрдХрд░рдг (рдмрд┐рдХреНрд░реА рдмрд┐рдВрджреБ рдХреЗ рдЙрддреНрдкрд╛рджреЛрдВ рдХреА рд╕реВрдЪреА) рдмрд┐рдХреНрд░реА рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдмрд┐рдВрджреБ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ (рдбреАрдмреАрдПрдордПрд╕ рд╕реЗ рд▓реЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛) рдФрд░ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд╛рди рдХреА рдЬрд╛рддреА рд╣реИ рдХрд┐ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рддрд┐рдерд┐ рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЙрддреНрдкрд╛рдж
рд╡рд░реНрдЧреАрдХрд░рдг рд╕реЗ рдмрд╛рд╣рд░ рд░рдЦрд╛ рдЧрдпрд╛ рдпрд╛ рд╡рд░реНрдЧреАрдХрд░рдг рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ред

рдмрд┐рдХреНрд░реА рдХреЗ рдмрд┐рдВрджреБрдУрдВ рдХреЗ рдПрдХ рд╡рд┐рднрд╛рдЬрд┐рдд рдХреИрд╢ рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдирд╛ рдФрд░ рдЙрд╕рдореЗрдВ рдЬреБрдбрд╝реЗ рдЙрддреНрдкрд╛рджреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдорд╣реАрдиреЗ рдкрд╣рд▓реЗ рд╕реЗ рдЬрд╛рдирдХрд╛рд░реА рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рд▓рдбрд╝рд╛рдХреВ рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд╕рд╛рде рд╕рдВрдЧрддрддрд╛ рдХреЗ рд▓рд┐рдП рдЗрдЧреНрдирд╛рдЗрдЯ рдХреНрд▓рд╛рдЗрдВрдЯ рдиреЛрдб рдХреЛ рдбреЗрдЯрд╛ рд▓реЛрдб рдХрд░рдиреЗ, рдлреЙрд░реНрдо рдХреЗ рдХреБрд▓ рдпреЛрдЧ (рд╕реНрдЯреЛрд░ рдкреНрд░рдХрд╛рд░, рдЙрддреНрдкрд╛рдж рдХреЛрдб, рджрд┐рди, рд╕рдВрдЦреНрдпрд╛_рдСрдл_рд╕реЗрд▓реНрд╕_рдкреЙрдЗрдВрдЯреНрд╕) рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдФрд░ рдЗрд╕реЗ рдбреАрдмреАрдПрдордПрд╕ рдкрд░ рд╡рд╛рдкрд╕ рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

2. рд╕рд╛рд╣рд┐рддреНрдп рдХрд╛ рдЕрдзреНрдпрдпрди

рдореБрдЭреЗ рдЕрднреА рддрдХ рдХреЛрдИ рдЕрдиреБрднрд╡ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рд╕реНрдЯреЛрд╡ рд╕реЗ рдиреГрддреНрдп рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдпрд╛рдиреА рдкреНрд░рдХрд╛рд╢рдиреЛрдВ рдХреА рд╕рдореАрдХреНрд╖рд╛ рд╕реЗ.

2016 рдХрд╛ рд▓реЗрдЦ рдЕрдкрд╛рдЪреЗ рдЗрдЧреНрдирд╛рдЗрдЯ рдХрд╛ рдкрд░рд┐рдЪрдп: рдкрд╣рд▓рд╛ рдХрджрдо рдЗрд╕рдореЗрдВ рдЕрдкрд╛рдЪреЗ рдЗрдЧреНрдирд╛рдЗрдЯ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХрд╛ рдПрдХ рд▓рд┐рдВрдХ рд╣реИ рдФрд░ рд╕рд╛рде рд╣реА рдЗрд╕ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреА рдЕрд╕реНрдкрд╖реНрдЯрддрд╛ рдХреЗ рд▓рд┐рдП рдирд┐рдВрджрд╛ рднреА рд╣реИред рдореИрдВ рдЗрд╕реЗ рдПрдХ-рджреЛ рдмрд╛рд░ рджреЛрдмрд╛рд░рд╛ рдкрдврд╝рддрд╛ рд╣реВрдВ, рд╕реНрдкрд╖реНрдЯрддрд╛ рдирд╣реАрдВ рдЖрддреАред рдореИрдВ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдХрд╛ рд╕рдВрджрд░реНрдн рджреЗрддрд╛ рд╣реВрдВ рд╢реБрд░реВ рдХрд░рдирд╛рдЬреЛ
рдЖрд╢рд╛рд╡рд╛рджреА рд╡рд╛рджрд╛ рдХрд░рддрд╛ рд╣реИ "рдЖрдк рдПрдХ рдкрд▓ рдореЗрдВ рдареАрдХ рд╣реЛ рдЬрд╛рдпреЗрдВрдЧреЗ!" рдореИрдВ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛ рд░рд╣рд╛ рд╣реВрдВ, рджреЛ рдЕрдкрд╛рдЪреЗ рдЗрдЧреНрдирд╛рдЗрдЯ рдПрд╕реЗрдВрд╢рд┐рдпрд▓ рд╡реАрдбрд┐рдпреЛ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рд╡реЗ рдореЗрд░реЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рдирд╣реАрдВ рдереЗред рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рддреЗ рд╣реБрдП рдорд╛рдирдХ рдлрд╝рд╛рдЗрд▓ "example-ignite.xml" рдХреЗ рд╕рд╛рде рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд╕реЗ рдЗрдЧреНрдирд╛рдЗрдЯ рдХреЛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЖрд╡реЗрджрди рдХреА рдЧрдгрдирд╛ рдХрд░реЗрдВ рдореЗрд╡реЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╢реВрдиреНрдп рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдХреНрдпрд╛ рдЦрд╝реВрдмрд╕реВрд░рддреА рд╣реИ!

рдореИрдВрдиреЗ рдЖрдЧреЗ рдкрдврд╝рд╛, рдФрд░ рд╡рд╣рд╛рдВ рдЙрджрд╛рд╣рд░рдг рддреБрд░рдВрдд affinityKey (рдПрдХ SQL рдХреНрд╡реЗрд░реА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрд╣рд▓реЗ рдмрдирд╛рдпрд╛ рдЧрдпрд╛) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд░рд╣рд╕реНрдпрдордп рдмрд╛рдЗрдирд░реАрдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ:

IgniteCache<BinaryObject, BinaryObject> people 
        = ignite.cache("Person").withKeepBinary(); 

рдкрдврд╝реЗрдВ ╨╜╨╡╨╝╨╜╨╛╨│╨╛: рдмрд╛рдЗрдирд░реА рдкреНрд░рд╛рд░реВрдк - рдкреНрд░рддрд┐рдмрд┐рдВрдм рдЬреИрд╕рд╛ рдХреБрдЫ, рдирд╛рдо рд╕реЗ рдХрд┐рд╕реА рд╡рд╕реНрддреБ рдХреЗ рдХреНрд╖реЗрддреНрд░реЛрдВ рддрдХ рдкрд╣реБрдВрдЪред рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдбрд┐рд╕реЗрд░рд┐рдПрд▓рд╛рдЗрдЬрд╝ рдХрд┐рдП рдмрд┐рдирд╛ (рдореЗрдореЛрд░реА рд╕реЗрд╡ рдХрд░рддреЗ рд╣реБрдП) рдХрд┐рд╕реА рдлрд╝реАрд▓реНрдб рдХрд╛ рдорд╛рди рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рд╢реВрдиреНрдп рдкрд░рд┐рдирд┐рдпреЛрдЬрди рд╣реЛрдиреЗ рдкрд░, рд╡реНрдпрдХреНрддрд┐ рдХреЗ рдмрдЬрд╛рдп рдмрд╛рдЗрдирд░реАрдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреНрдпреЛрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ? рдЗрдЧреНрдирд╛рдЗрдЯ рдХреИрд╢ рдХреНрдпреЛрдВ? IgniteCache рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ ? рдпрд╣ рдЕрднреА рддрдХ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ.

рдореИрдВ рдЕрдкрдиреЗ рдорд╛рдорд▓реЗ рдХреЗ рдЕрдиреБрд░реВрдк рдХрдВрдкреНрдпреВрдЯ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХрд░ рд░рд╣рд╛ рд╣реВрдВред MSSQL рдореЗрдВ рдмрд┐рдХреНрд░реА рдХреЗ рдмрд┐рдВрджреБрдУрдВ рдХреА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреА рдкреНрд░рд╛рдердорд┐рдХ рдХреБрдВрдЬреА рдХреЛ [id] [int] NOT NULL рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдореИрдВ рд╕рд╛рджреГрд╢реНрдп рджреНрд╡рд╛рд░рд╛ рдПрдХ рдХреИрд╢ рдмрдирд╛рддрд╛ рд╣реВрдВ

IgniteCache<Integer, SalesPoint> salesPointCache=ignite.cache("spCache")

рдПрдХреНрд╕рдПрдордПрд▓ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдореИрдВ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдХреИрд╢ рд╡рд┐рднрд╛рдЬрд┐рдд рд╣реИ

<bean class="org.apache.ignite.configuration.CacheConfiguration">
    <property name="name" value="spCache"/>
    <property name="cacheMode" value="PARTITIONED"/>
</bean>

рд╡рд┐рдХреНрд░рдп рдмрд┐рдВрджреБ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рднрд╛рдЬрди рдпрд╣ рдорд╛рдирддрд╛ рд╣реИ рдХрд┐ рд╡рд╣рд╛рдВ рдЙрдкрд▓рдмреНрдз рд╕реЗрд▓реНрд╕рдкреЙрдЗрдВрдЯ рдХреИрд╢ рд░рд┐рдХреЙрд░реНрдб рдХреЗ рд▓рд┐рдП рдкреНрд░рддреНрдпреЗрдХ рдХреНрд▓рд╕реНрдЯрд░ рдиреЛрдб рдкрд░ рдЖрд╡рд╢реНрдпрдХ рд╕рдореБрдЪреНрдЪрдп рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдХреНрд▓рд╛рдЗрдВрдЯ рдиреЛрдб рдЕрдВрддрд┐рдо рд╕рд╛рд░рд╛рдВрд╢ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдЧрд╛ред

рдореИрдВ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдкрдврд╝ рд░рд╣рд╛ рд╣реВрдВ рдкрд╣рд▓рд╛ рдЗрдЧреНрдирд╛рдЗрдЯ рдХрдВрдкреНрдпреВрдЯ рдПрдкреНрд▓рд┐рдХреЗрд╢рди, рдореИрдВ рдЗрд╕реЗ рд╕рд╛рджреГрд╢реНрдп рд╕реЗ рдХрд░рддрд╛ рд╣реВрдВред рдкреНрд░рддреНрдпреЗрдХ рдХреНрд▓рд╕реНрдЯрд░ рдиреЛрдб рдкрд░ рдореИрдВ IgniteRunnable() рдЪрд▓рд╛рддрд╛ рд╣реВрдВ, рдХреБрдЫ рдЗрд╕ рддрд░рд╣:

  @Override
  public void run() {
    SalesPoint sp=salesPointCache.get(spId);
    sp.calculateSalesPointCount();
    ..
  }

рдореИрдВ рдПрдХрддреНрд░реАрдХрд░рдг рдФрд░ рдЕрдкрд▓реЛрдбрд┐рдВрдЧ рддрд░реНрдХ рдЬреЛрдбрд╝рддрд╛ рд╣реВрдВ рдФрд░ рдЗрд╕реЗ рдкрд░реАрдХреНрд╖рдг рдбреЗрдЯрд╛ рд╕реЗрдЯ рдкрд░ рдЪрд▓рд╛рддрд╛ рд╣реВрдВред рд╕рдм рдХреБрдЫ рд╡рд┐рдХрд╛рд╕ рд╕рд░реНрд╡рд░ рдкрд░ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдореИрдВ рджреЛ CentOs рдкрд░реАрдХреНрд╖рдг рд╕рд░реНрд╡рд░ рд▓реЙрдиреНрдЪ рдХрд░рддрд╛ рд╣реВрдВ, рдбрд┐рдлрд╝реЙрд▓реНрдЯ-config.xml рдореЗрдВ рдЖрдИрдкреА рдкрддреЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛ рд╣реВрдВ, рдкреНрд░рддреНрдпреЗрдХ рдкрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реВрдВ

./bin/ignite.sh config/default-config.xml

рджреЛрдиреЛрдВ рдЗрдЧреНрдирд╛рдЗрдЯ рдиреЛрдб рдЪрд▓ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдПрдХ рджреВрд╕рд░реЗ рдХреЛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВ рдХреНрд▓рд╛рдЗрдВрдЯ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ xml рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдкрддреЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛ рд╣реВрдВ, рдпрд╣ рдкреНрд░рд╛рд░рдВрдн рд╣реЛрддрд╛ рд╣реИ, рдЯреЛрдкреЛрд▓реЙрдЬреА рдореЗрдВ рдПрдХ рддреАрд╕рд░рд╛ рдиреЛрдб рдЬреЛрдбрд╝рддрд╛ рд╣реИ рдФрд░ рддреБрд░рдВрдд рдлрд┐рд░ рд╕реЗ рджреЛ рдиреЛрдб рд╣реЛрддреЗ рд╣реИрдВред рд▓реЙрдЧ рдкрдВрдХреНрддрд┐ рдореЗрдВ "ClassNotFoundException: model.SalesPoint" рджрд┐рдЦрд╛рддрд╛ рд╣реИ

SalesPoint sp=salesPointCache.get(spId);

StackOverflow рдХрд╛ рдХрд╣рдирд╛ рд╣реИ рдХрд┐ рддреНрд░реБрдЯрд┐ рдХрд╛ рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХрд┐ CentOs рд╕рд░реНрд╡рд░ рдкрд░ рдХреЛрдИ рдХрд╕реНрдЯрдо SalesPoint рдХреНрд▓рд╛рд╕ рдирд╣реАрдВ рд╣реИред рд╣рдо рдЖ рдЧрдП рд╣реИрдВ. "рдЖрдкрдХреЛ рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдб рдкрд░ рдЕрдкрдиреЗ рдЬрд╛рд╡рд╛ рдХреЛрдб рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ" рдЗрддреНрдпрд╛рджрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рдЦреНрдпрд╛рд▓ рд╣реИ? рдпрд╛ "рдЖрдкрдХрд╛ рдЬрд╛рд╡рд╛ рдХреЛрдб" SalesPoint рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╣реИ?

рдореИрдВ рд╢рд╛рдпрдж рдХреБрдЫ рднреВрд▓ рдЧрдпрд╛ рд╣реВрдБ - рдореИрдВ рдлрд┐рд░ рд╕реЗ рдЦреЛрдЬрдирд╛, рдкрдврд╝рдирд╛ рдФрд░ рдлрд┐рд░ рд╕реЗ рдЦреЛрдЬрдирд╛ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реВрдБред рдереЛрдбрд╝реА рджреЗрд░ рдмрд╛рдж рдореБрдЭреЗ рдРрд╕рд╛ рдорд╣рд╕реВрд╕ рд╣реБрдЖ рдХрд┐ рдореИрдВрдиреЗ рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рд╕рдм рдХреБрдЫ рдкрдврд╝ рд▓рд┐рдпрд╛ рд╣реИ, рдЕрдм рдЗрд╕рдореЗрдВ рдХреБрдЫ рднреА рдирдпрд╛ рдирд╣реАрдВ рд╣реИред рдЬрдм рдореИрдВ рдЦреЛрдЬ рд░рд╣рд╛ рдерд╛, рдореБрдЭреЗ рдХреБрдЫ рджрд┐рд▓рдЪрд╕реНрдк рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ рдорд┐рд▓реАрдВред

рд╡реИрд▓реЗрдиреНрдЯрд┐рди рдХреБрд▓рд┐рдЪреЗрдВрдХреЛ, рдЧреНрд░рд┐рдбрдЧреИрди рд╕рд┐рд╕реНрдЯрдореНрд╕ рдореЗрдВ рд▓реАрдб рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЯ, рдЬрд╡рд╛рдм рд╕реНрдЯреИрдХ рдУрд╡рд░рдлрд╝реНрд▓реЛ рдкрд░, рдЕрдкреНрд░реИрд▓ 2016:

Model classes are not peer deployed, but you can use withKeepBinary() flag
on the cache and query BinaryObjects. This way you will avoid deserialization
on the server side and will not get ClassNotFoundException.

рдПрдХ рдФрд░ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд░рд╛рдп: рдбреЗрдирд┐рд╕ рдореИрдЧреНрдбрд╛, рдЧреНрд░рд┐рдбрдЧреЗрди рд╕рд┐рд╕реНрдЯрдореНрд╕ рдХреЗ рдЙрддреНрдкрд╛рдж рдкреНрд░рдмрдВрдзрди рдирд┐рджреЗрд╢рдХред

рд╣рдмрд░реЗ рдкрд░ рд▓реЗрдЦ рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕реЗрдЬ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдбреЗрдирд┐рд╕ рдореИрдЧреНрдбрд╛ рдХреЗ рддреАрди рд▓реЗрдЦреЛрдВ рдХрд╛ рд╕рдВрджрд░реНрдн: рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕реЗрдЬ рднрд╛рдЧ I, рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕реЗрдЬ рднрд╛рдЧ II, рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕реЗрдЬ рднрд╛рдЧ III 2016-2017. рджреВрд╕рд░реЗ рд▓реЗрдЦ рдореЗрдВ, рдбреЗрдирд┐рд╕ MaintenanceServiceNodeStartup.jar рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреНрд▓рд╕реНрдЯрд░ рдиреЛрдб рд╢реБрд░реВ рдХрд░рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реИред рдЖрдк xml рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдФрд░ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдХреЗ рд╕рд╛рде рд▓реЙрдиреНрдЪ рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рдЖрдкрдХреЛ рдкреНрд░рддреНрдпреЗрдХ рддреИрдирд╛рдд рдХреНрд▓рд╕реНрдЯрд░ рдиреЛрдб рдкрд░ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдХрд╕реНрдЯрдо рдХреНрд▓рд╛рд╕ рд▓рдЧрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА:

That's it. Start (..)  node using MaintenanceServiceNodeStartup file or pass
maintenance-service-node-config.xml to Apache Ignite's ignite.sh/bat scripts.
If you prefer the latter then make sure to build a jar file that will contain
all the classes from java/app/common and java/services/maintenance directories.
The jar has to be added to the classpath of every node where the service
might be deployed.

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣реА рдмрд╛рдд рд╣реИред рдпрд╣рд╛рдБ рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ, рдХреНрдпреЛрдВ, рдпрд╣ рд░рд╣рд╕реНрдпрдордп рдмрд╛рдЗрдирд░реА рдкреНрд░рд╛рд░реВрдк!

3.рд╕рд┐рдВрдЧрд▓ рдЬрд╛рд░

рдбреЗрдирд┐рд╕ рдиреЗ рдореЗрд░реА рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реЗрдЯрд┐рдВрдЧ рдореЗрдВ рдкрд╣рд▓рд╛ рд╕реНрдерд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛, рдЖрдИрдПрдордПрдЪрдУ рд╕рднреА рдЙрдкрд▓рдмреНрдз рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдореЗрдВ рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рд╣реИред рдЙрд╕рдХреЗ рдореЗрдВ рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕реЗрдЬ рдЙрджрд╛рд╣рд░рдг рдЬреАрдердм рдореЗрдВ рдХреНрд▓рд╕реНрдЯрд░ рдиреЛрдбреНрд╕ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рддреИрдпрд╛рд░ рдЙрджрд╛рд╣рд░рдг рд╢рд╛рдорд┐рд▓ рд╣реИ, рдЬреЛ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реНрдХреНрд╡рд╛рдЯрд┐рдВрдЧ рдХреЗ рд╕рдВрдХрд▓рд┐рдд рд╣реЛрддрд╛ рд╣реИред

рдореИрдВ рдЗрд╕реЗ рдЙрд╕реА рддрд░рд╣ рд╕реЗ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдПрдХ рдПрдХрд▓ рдЬрд╛рд░ рдлрд╝рд╛рдЗрд▓ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реВрдВ рдЬреЛ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рддрд░реНрдХ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ "рдбреЗрдЯрд╛ рдиреЛрдб" рдпрд╛ "рдХреНрд▓рд╛рдЗрдВрдЯ рдиреЛрдб" рд▓реЙрдиреНрдЪ рдХрд░рддрд╛ рд╣реИред рдЕрд╕реЗрдВрдмрд▓реА рд╢реБрд░реВ рд╣реЛрддреА рд╣реИ рдФрд░ рдХрд╛рдо рдХрд░рддреА рд╣реИред рд╢реВрдиреНрдп рддреИрдирд╛рддреА рд╣рд╛рд░ рдЧрдИ рд╣реИ.

рдкрд░реАрдХреНрд╖рдг рдбреЗрдЯрд╛ рдХреЗ рдореЗрдЧрд╛рдмрд╛рдЗрдЯ рд╕реЗ рджрд╕рд┐рдпреЛрдВ рдЧреАрдЧрд╛рдмрд╛рдЗрдЯ рдпреБрджреНрдз рдбреЗрдЯрд╛ рдореЗрдВ рд╕рдВрдХреНрд░рдордг рд╕реЗ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдмрд╛рдЗрдирд░реА рдкреНрд░рд╛рд░реВрдк рдПрдХ рдХрд╛рд░рдг рд╕реЗ рдореМрдЬреВрдж рд╣реИред рдиреЛрдбреНрд╕ рдкрд░ рдореЗрдореЛрд░реА рдЦрдкрдд рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛, рдФрд░ рдпрд╣реАрдВ рдкрд░ рдмрд╛рдЗрдирд░реАрдСрдмреНрдЬреЗрдХреНрдЯ рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд╕рд╛рдмрд┐рдд рд╣реБрдЖред

4ред рдирд┐рд╖реНрдХрд░реНрд╖

рдЕрдкрд╛рдЪреЗ рдЗрдЧреНрдирд╛рдЗрдЯ рдкрд░рд┐рдпреЛрдЬрдирд╛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХреА рдЕрд╕реНрдкрд╖реНрдЯрддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрд╣рд▓реА рдЖрд▓реЛрдЪрдирд╛ рдирд┐рд╖реНрдкрдХреНрд╖ рдирд┐рдХрд▓реА; 2016 рдХреЗ рдмрд╛рдж рд╕реЗ рдереЛрдбрд╝рд╛ рдмрджрд▓рд╛рд╡ рдЖрдпрд╛ рд╣реИред рдХрд┐рд╕реА рд╢реБрд░реБрдЖрддреА рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рд╡реЗрдмрд╕рд╛рдЗрдЯ рдФрд░/рдпрд╛ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХрд╛рд░реНрдпрд╢реАрд▓ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИред

рдХрд┐рдП рдЧрдП рдХрд╛рд░реНрдп рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдзрд╛рд░рдгрд╛ рдпрд╣ рдереА рдХрд┐ рд╢реВрдиреНрдп рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рд╕рд┐рд╕реНрдЯрдо рд╕реНрддрд░ рдкрд░ред рдХреБрдЫ рдЗрд╕ рддрд░рд╣: рдмрд╛рдЗрдирд░реАрдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рджреВрд░рд╕реНрде рдХреНрд▓рд╕реНрдЯрд░ рдиреЛрдбреНрд╕ рдХреЛ рдХрд╕реНрдЯрдо рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд╕рд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ; рд╢реВрдиреНрдп рдкрд░рд┐рдирд┐рдпреЛрдЬрди - рдЖрдВрддрд░рд┐рдХ рддрдВрддреНрд░
рдЕрдкрд╛рдЪреЗ рд╕реНрд╡рдпрдВ рдЗрдЧреНрдирд╛рдЗрдЯ рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╕рд┐рд╕реНрдЯрдо рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдкреВрд░реЗ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рд╡рд┐рддрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред

рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдореЗрд░рд╛ рдЕрдиреБрднрд╡ рдирдП рдЕрдкрд╛рдЪреЗ рдЗрдЧреНрдирд╛рдЗрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ред

рд╕реНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ