JRebel

Habr├й рдкрд░ рдХрдИ рд▓реЗрдЦ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдП рдЧрдП рдереЗ рдЬрд╣рд╛рдБ JRebel рдпрд╛ рддреЛ рдмрд╕ рдЙрд▓реНрд▓реЗрдЦрд┐рдд рдерд╛ рдпрд╛ рдЬрд╛рдирдХрд╛рд░реА рдкреЛрд╕реНрдЯ рдХреА рдЧрдИ рдереА рдХрд┐ рдПрдХ рдирдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ ред рдЙрд╕реА рд╕рдордп, рд╕рднреА рдкрд╛рдардХреЛрдВ рдХреЛ рдпрд╣ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрдпрд╛ рдХрд┐ рдпрд╣ рд╕рдм рдХреНрдпрд╛ рдерд╛ рдФрд░ рдЗрд╕ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдиреЗ рдХреИрд╕реЗ рдХрд╛рдо рдХрд┐рдпрд╛ ред

рдЗрд╕ рдЙрддреНрдкрд╛рдж рдХреЗ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рдкреНрд░рддреНрдпрдХреНрд╖ рднрд╛рдЧреАрджрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВ рдХреБрдЫ рдмрд┐рдВрджреБрдУрдВ рдХреЛ рд╕реНрдкрд╖реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдХрд┐ рдЬреЗрд░реАрдмреЗрд▓ рдХреНрдпреЛрдВ рдореМрдЬреВрдж рд╣реИ рдФрд░ рдпрд╣ рдЬрд╛рд╡рд╛ рдбреЗрд╡рд▓рдкрд░ рдХреА рдорджрдж рдХреИрд╕реЗ рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдкреИрд░ рдХрд╣рд╛рдБ рд╕реЗ рдмрдврд╝рддреЗ рд╣реИрдВ?



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

рд╕рдордп рдХрд╣рд╛рдБ рдЬрд╛рддрд╛ рд╣реИ?


рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╡рд┐рдХрд╛рд╕ рдЪрдХреНрд░ рдХреНрд▓рд╛рд╕рд┐рдХ рд░реВрдк рдореЗрдВ рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ:
1. рдХреЛрдб рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди (рдпрд╛ рд╕рдВрд╕рд╛рдзрди)
2. рдЗрдХрдЯреНрдареЗ JAR / WAR / EAR
3. рд╣рдордиреЗ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рд╕рдВрдЧреНрд░рд╣ рдХреЛ рддреИрдирд╛рдд рдХрд┐рдпрд╛ рд╣реИ
4. рд╣рдордиреЗ рддреИрдирд╛рдд рдЖрд╡реЗрджрди рдЦреЛрд▓рд╛, рдФрд░, рдХреБрдЫ рдЬреЛрдбрд╝рддреЛрдбрд╝ рдХреЗ рдмрд╛рдж, рдЙрдирдХреЗ рдХрд╛рдо рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рджреЗрдЦрд╛ред

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

рдХрдВрдЯреЗрдирд░ / рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░рдиреЗ рдореЗрдВ рдХреБрдЫ рд╕реЗрдХрдВрдб рд▓рдЧрддреЗ рд╣реИрдВ, рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рд╕рдорд╕реНрдпрд╛ рдХреЛ рдЗрддрдирд╛ рдорд╣рд╕реВрд╕ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЬреИрд╕реЗ-рдЬреИрд╕реЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдмрдврд╝рддреА рд╣реИ рдФрд░ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реЛ рдЬрд╛рддреА рд╣реИ, рдЕрд╕реБрд╡рд┐рдзрд╛ рдорд╣рд╕реВрд╕ рд╣реЛрдЧреАред рдпрд╣ рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдБ рдЖрдк рд╕реЛрдЪ рд╕рдХрддреЗ рд╣реИрдВ: рд╢рд╛рдпрдж рдЬреЗрдмреНрд░реЗрд▓ рдЖрдкрдХреЛ рдХреНрдпрд╛ рдЪрд╛рд╣рд┐рдП?

рдмрдЪрд╛рд╡ рдХреЗ рд▓рд┐рдП Jebebel!



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

JRebel рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдХреНрдпрд╛ рд▓рд╛рдн рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВ:
1. рдЪреВрдВрдХрд┐ JRebel рдХрд╛рд░реНрдпрдХреНрд╖реЗрддреНрд░ рд╕реЗ рд╕реАрдзреЗ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рд▓реЛрдб рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдкреВрд░реНрдг рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рдВрдЧреНрд░рд╣ (JAR / WAR / EAR) рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдпрд╣ рдХреЗрд╡рд▓ рд╕рдВрд╢реЛрдзрд┐рдд рдХреЛрдб рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛ рд╣реБрдЖ рд╣реИ, рдЬреЛ рд╕рдВрдЧреНрд░рд╣ рдХреА рдкреВрд░реА рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдХрдо рд╕рдордп рд▓реЗрддрд╛ рд╣реИред
2. рдЖрд╡реЗрджрди рдХреА рдХреЛрдИ рдкреБрди: рддреИрдирд╛рддреА рдирд╣реАрдВ рд╣реИ - рдлрд┐рд░ рд╕реЗ рд╣рдо рд╕рдордп рдмрдЪрд╛рддреЗ рд╣реИрдВред
3. рдХреЛрдИ рдирдпрд╛ рдХреНрд▓рд╛рд╕ рд▓реЛрдбрд░ рдирд╣реАрдВ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЕрдкрдбреЗрдЯ рдХреЗ рджреМрд░рд╛рди рдореЗрдореЛрд░реА рд▓реАрдХ рд╣реЛрдиреЗ рдХрд╛ рдЦрддрд░рд╛ рдХрдо рд╣реЛрддрд╛ рд╣реИред рддрджрдиреБрд╕рд╛рд░, рд╣рдо рдХрдВрдЯреЗрдирд░ рдХреЗ рд╕реНрд╡рдпрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░рдиреЗ рдкрд░ рд╕рдордп рдмрдЪрд╛рддреЗ рд╣реИрдВред
4. рд╡рд╕реНрддреБрдУрдВ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рддреНрд░ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдмрдЪрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ, рдЖрдк рдПрдХ рд╣реА рдкреГрд╖реНрда рдкрд░ рд░рд╣ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдо рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ - рдмрд╕ F5 рджрдмрд╛рдПрдВред

рд╕реНрдерд╛рдкрдирд╛ рдФрд░ рд╕реЗрдЯрдЕрдк


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

рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рд▓рд┐рдП рдЧреНрд░рд╣рдг рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛, рдПрдХреНрд▓рд┐рдкреНрд╕ рдорд╛рд░реНрдХреЗрдЯрдкреНрд▓реЗрд╕ рд╕реЗрд╡рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред NetBeans рдФрд░ IntelliJIDEA рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ JRebel рдХреЛ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреА рдЕрдкрдиреА рд╕реВрдЪреА рдореЗрдВ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред рд╡рд┐рд╕реНрддреГрдд рдирд┐рд░реНрджреЗрд╢ рдпрд╣рд╛рдВ рджреЗрдЦреЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ ред рдкреНрд▓рдЧрдЗрди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╡реЗ рдЖрдкрдХреЛ рдмрддрд╛рдПрдВрдЧреЗ рдХрд┐ рдкрдВрдЬреАрдХрд░рдг рдХрд░рдирд╛ рдФрд░ рд▓рд╛рдЗрд╕реЗрдВрд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛



рдкрдВрдЬреАрдХрд░рдг рдХреЗ рдмрд╛рдж , рдЬреЗрдмреНрд░реЗрд▓ рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИред

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

java -javaagent: /opt/jrebel/jrebel.jar -cpред my.awesome.Application

рд╡рд┐рдиреНрдпрд╛рд╕


рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, JRebel рдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ, рдХреЗрд╡рд▓ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ - rebel.xml - рдЬреЛ рдЖрдИрдбреАрдИ рдкреНрд▓рдЧ-рдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЙрддреНрдкрдиреНрди рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИред



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

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

рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╣реА рдПрдХ рд╕рд░рд▓ рд╕рдВрд░рдЪрдирд╛ рд╣реЛрддреА рд╣реИ - рдЖрдкрдХреЛ рдмрд╕ рдХреНрд▓рд╛рд╕рдкреИрде рдФрд░ рд╕реНрдереИрддрд┐рдХ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХрд╛ рд╕реНрдерд╛рди рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛:

 <?xml version="1.0" encoding="UTF-8"?> <application xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.zeroturnaround.com" xsi:schemaLocation="http://www.zeroturnaround.com http://www.zeroturnaround.com/alderaan/rebel-2_0.xsd"> <classpath> <dir name="c:\myWorkspace\myWar\target\classes"/> <dir name="c:\myWorkspace\myWar\src\main\resources"/> </classpath> <web> <link target="/"> <dir name="c:\myWorkspace\myWar\src\main\webapp"/> </link> <link target="/jsps/"> <dir name="c:\myWorkspace\myWar\src\main\jsps"/> </link> </web> </application> 
<?xml version="1.0" encoding="UTF-8"?> <application xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.zeroturnaround.com" xsi:schemaLocation="http://www.zeroturnaround.com http://www.zeroturnaround.com/alderaan/rebel-2_0.xsd"> <classpath> <dir name="c:\myWorkspace\myWar\target\classes"/> <dir name="c:\myWorkspace\myWar\src\main\resources"/> </classpath> <web> <link target="/"> <dir name="c:\myWorkspace\myWar\src\main\webapp"/> </link> <link target="/jsps/"> <dir name="c:\myWorkspace\myWar\src\main\jsps"/> </link> </web> </application>


рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕ рддрд░рд╣ рдХреА рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдХрд┐рд╕реА рднреА, рд╕рдмрд╕реЗ рдЧреИрд░-рдорд╛рдирдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ - рдореЗрд░реЗ рдЕрдиреБрднрд╡ рдореЗрдВ, рдРрд╕реА рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдВ рдЕрдХреНрд╕рд░ рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИрдВред рд╡рд┐рджреНрд░реЛрд╣ рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХрд╛ рд╡рд┐рд╕реНрддреГрдд рд╡рд┐рд╡рд░рдгред Xml рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдорд╣рддреНрд╡рдкреВрд░реНрдг! JRebel рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП, rebel.xml рдХреЛ рдкрд░рд┐рдирд┐рдпреЛрдЬрд┐рдд рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдкрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП: рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП, rebel.xml WEB-INF / рдХрдХреНрд╖рд╛рдУрдВ рдореЗрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред JAR рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП, rebel.xml рд╕рдВрдЧреНрд░рд╣ рдХреА рдЬрдбрд╝ рдореЗрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред



рдЖрджрд░реНрд╢ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХреЗрд╡рд▓ web.xml рдФрд░ rebel.xml рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдЕрдиреНрдп рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рд╡рд┐рджреНрд░реЛрд╣реА.xml рдореЗрдВ рдкрдереЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдорд╛рд╡реЗрди рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдПрдХ рдкреНрд▓рдЧрдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ рдЬреЛ рдПрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рд╕рд╣реА рдЬрдЧрд╣ рдкрд░ рдмрдЪрд╛рддрд╛ рд╣реИред

рд▓рд╛рдВрдЪ


рдЖрдИрдбреАрдИ рд╕реЗ, рд▓реЙрдиреНрдЪрд┐рдВрдЧ рдмрд╣реБрдд рддреБрдЪреНрдЫ рд╣реИред IntelliJIDEA рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдкреНрд▓рдЧрдЗрди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рд╡рд╛рд▓реЗ рдирдП рд╕реНрдЯрд╛рд░реНрдЯ рдмрдЯрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:



рдЧреНрд░рд╣рдг рдореЗрдВ, рдПрдХ рдирдпрд╛ рдмреБрдХрдорд╛рд░реНрдХ рд▓реЙрдиреНрдЪ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдПрдЧрд╛, рдЬрд┐рд╕ рдкрд░ рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ JRebel рдЗрд╕ рд▓реЙрдиреНрдЪ рдХреЗ рд▓рд┐рдП рд╕рдХреНрд╖рдо рд╣реЛрдЧрд╛, рдФрд░ рдХреБрдЫ рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдкред



рдпрджрд┐ рдЖрдк рдХрдВрдЯреЗрдирд░ рдХреЛ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рдмрд╛рд╣рд░ рдЪрд▓рд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЪрдпрдирд┐рдд рдХрдВрдЯреЗрдирд░ рдХреЗ рд▓рд┐рдП рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ jjbel.jar рдореЗрдВ jrebel.jar рдХреЗ рд▓рд┐рдП рд╕рд╣реА рд░рд╛рд╕реНрддрд╛ рдЬреЛрдбрд╝реЗрдВред рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЧрд╛рдЗрдб рдореЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЬреЗрд╡реАрдПрдо рдФрд░ рдУрдПрд╕ рдХреЗ рд▓рд┐рдП рдЪрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдирдореВрдирд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде рдХрдВрдЯреЗрдирд░реЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рд╣реИред

рдЕрд╡рд╕рд░реЛрдВ



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

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

рдПрдиреЛрдЯреЗрд╢рди рдХреЗ рд╕рд╛рде, рдлреНрд░реЗрдорд╡рд░реНрдХ рдмрд╛рд╣рд░реА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдкрд░ рдирд┐рд░реНрднрд░ рд╣реЛрдиреЗ рдкрд░ рд╡рд┐рд╢реЗрд╖ рдПрдХреАрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕реНрдкреНрд░рд┐рдВрдЧ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдПрдиреЛрдЯреЗрд╢рди рдФрд░ XML рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рджреЛрдиреЛрдВ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ XML рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдПрдХ рдирдпрд╛ рдШрдЯрдХ ( рдмреАрди ) рдЬреЛрдбрд╝рд╛, рдФрд░ @Autowired рдПрдиреЛрдЯреЗрд╢рди рдХреА рдорджрдж рд╕реЗ рд╣рдо рдирдП рдмрдиреЗ рдШрдЯрдХ рдХреЛ рдирд┐рдпрдВрддреНрд░рдХ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

рдкреНрд░рддрд┐рдмрдВрдз


рд╣реИрдмреЗ рдФрд░ рдЬреЗрдмреНрд░реЗрд▓ рдкрд░ рд╡рд░реНрдгрд┐рдд рд╕рднреА рджреГрд╖реНрдЯрд┐рдХреЛрдгреЛрдВ рдХреА рддрд░рд╣ рдХреБрдЫ рддрдХрдиреАрдХреА рд╕реАрдорд╛рдПрдВ рд╣реИрдВред

рдЗрд╕ рд▓реЗрдЦрди рдХреЗ рд╕рдордп, рд╡рд░реНрдЧ рдкрджрд╛рдиреБрдХреНрд░рдо рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИрдВ, рдЕрд░реНрдерд╛рддреНред рдпрджрд┐ рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рдПрдХ рд╡рд░реНрдЧ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА "рдП рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдмреА" рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╣реИ, рддреЛ рдЖрдк рдЗрд╕реЗ "рдП рдХреЗ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реА" рдореЗрдВ рдирд╣реАрдВ рдмрджрд▓ рд╕рдХрддреЗред рдпрд╣реА рдмрд╛рдд рдЗрдВрдЯрд░рдлреЗрд╕ рдХреА рд╕реВрдЪреА рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд╛рдЧреВ рд╣реЛрддреА рд╣реИ - рдЖрдк рд╡рд░реНрдЧ рдШреЛрд╖рдгрд╛ рд╕реЗ рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЛ рдЬреЛрдбрд╝ рдпрд╛ рд╣рдЯрд╛ рдирд╣реАрдВ рд╕рдХрддреЗред

рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдФрд░ рдмрд┐рдВрджреБ рд╣реИрдВред

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

рд╕реНрдереИрддрд┐рдХ рдХреНрд╖реЗрддреНрд░ рдХреЗ рдореВрд▓реНрдп рдХреЛ рдмрджрд▓рдХрд░, рд╣рдо рдЗрд╕ рдирдП рдореВрд▓реНрдп рдХреЛ рдХрдХреНрд╖рд╛ рдХреЗ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рджреЗрдЦрдиреЗ рдХреА рдЙрдореНрдореАрдж рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рдорд╛рди, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдПрдХ рд╕реНрдерд┐рд░ рдмреНрд▓реЙрдХ рдореЗрдВ рдЕрд╕рд╛рдЗрди рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдЬреЛ рдЬреЗрдмреНрд░реЗрд▓ рдиреЗ рдкреБрдирд░рд╛рд░рдВрдн рдирд╣реАрдВ рдХрд┐рдпрд╛ рдерд╛ред рддрджрдиреБрд╕рд╛рд░, рд╣рдо рдПрдХ рдирдпрд╛ рдЕрд░реНрде рдирд╣реАрдВ рджреЗрдЦреЗрдВрдЧреЗред рд╡рд░реНрддрдорд╛рди рдореЗрдВ, JRebel рд╕реНрдЯреИрдЯрд┐рдХ рдмреНрд▓реЙрдХ рдХреЛ рдкреБрдирдГ рдЖрд░рдВрдн рдХрд░реЗрдЧрд╛ рдЬрдм рдХреЛрдИ рдирдпрд╛ рд╕реНрдЯреИрдЯрд┐рдХ рдлрд╝реАрд▓реНрдб рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИред

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

рджреВрд╕рд░рд╛ рдкрд░рд┐рдгрд╛рдо, рдЬреЛ рдЗрд╕ рддрдереНрдп рд╕реЗ рдирд┐рдХрд▓рддрд╛ рд╣реИ рдХрд┐ рдЬреЗрдмреНрд░реЗрд▓ рдирд┐рд░реНрдорд╛рдгрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рдЬрдм рдПрдХ рдирдпрд╛ рдлрд╝реАрд▓реНрдб рд╡рд░реНрдЧ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди рдЕрд╕рд╛рдЗрди рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрд╛рдиреА рдпрджрд┐ рдЖрдк рдПрдХ рдРрд╕рд╛ рдХреНрд╖реЗрддреНрд░ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдХрд╛ рдкреНрд░рдХрд╛рд░ рдПрдХ рдЖрджрд┐рдо рдирд╣реАрдВ рд╣реИ, рддреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдорд╛рди рд╢реВрдиреНрдп рд╣реЛрдЧрд╛, рдЬреЛ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ NullPointerException рдХреЛ рдЬрдиреНрдо рджреЗ рд╕рдХрддрд╛ рд╣реИ рдпрджрд┐ рдпрд╣ рдлрд╝реАрд▓реНрдб рдХрд┐рд╕реА рдореМрдЬреВрджрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП dereferenced рд╣реИред

JRebel рдПрд╕рдбреАрдХреЗ



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

рд╕рд╛рдзрди



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

рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░



рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЗрд╕ рд▓реЗрдЦ рдХреЗ рдмрд╛рдж, рдмрд┐рди рдмреБрд▓рд╛рдП рдкрд╛рдардХ рд╕рдордЭ рдЬрд╛рдПрдВрдЧреЗ рдХрд┐ рдЬреЗрдмреНрд░реЗрд▓ рдХреНрдпрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рдЖрдкрдХреЗ рдХреЛрдИ рдкреНрд░рд╢реНрди рд╣реИрдВ, рддреЛ рдореБрдЭреЗ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдЙрдирдХрд╛ рдЙрддреНрддрд░ рджреЗрдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреАред
рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдХреБрдЫ рдЦрд╛рдорд┐рдпрд╛рдВ рдкрд╛рддреЗ рд╣реИрдВ, рд╣рдореЗрдВ рдордВрдЪ рдкрд░ рд▓рд┐рдЦрдиреЗ рдпрд╛ рддрдХрдиреАрдХреА рд╕рд╣рд╛рдпрддрд╛ рд╕реЗрд╡рд╛ рд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд░рдиреЗ рдореЗрдВ рд╕рдВрдХреЛрдЪ рди рдХрд░реЗрдВ, рд╣рдо рдмрд╣реБрдд рдЖрднрд╛рд░реА рд╣реЛрдВрдЧреЗред
рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!

Source: https://habr.com/ru/post/In135633/


All Articles