рд╡рд┐рднрд┐рдиреНрди рдиреМрдХрд░рд┐рдпреЛрдВ рдореЗрдВ рдХреБрдЫ рд╕рдордп рдХреЗ рдмрд╛рдж, рдореБрдЭреЗ рдХрдИ рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реБрдИ рдЬреЛ рдореБрдЭреЗ рдЙрд╕ рд╕рдордп рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рдорд┐рд▓реАред рдФрд░ рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рдореБрдЭреЗ рдмрд╛рд░-рдмрд╛рд░ рдЙрдирдХреА рдЬрд░реВрд░рдд рдереАред рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЕрдкрдиреА рдЫреЛрдЯреА рд╕реА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд▓рд┐рдЦреА рдЬреЛ рдореБрдЭреЗ рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд▓рдЧреАред рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЗрд╕реЗ рдПрдХ рдУрдкрди-рд╕реЛрд░реНрд╕ рдЬрд╛рд╡рд╛ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ред
рдпрд╣рд╛рдБ Github рд▓рд┐рдВрдХ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИрдЬрд╛рд╡рджреЛрдХ рдСрдирд▓рд╛рдЗрди рдпрд╣рд╛рдБ рдЙрдкрд▓рдмреНрдз рд╣реИрдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдорд╛рд╡реЗрди рд╕реЗрдВрдЯреНрд░рд▓ рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реИред рдпрд╣рд╛рдВ рдорд╛рд╡реЗрди рдХрд▓рд╛рдХреГрддрд┐рдпрд╛рдВ рд╣реИрдВ (рд╕рдВрд╕реНрдХрд░рдг 1.5.0.8 рдЗрд╕ рд▓реЗрдЦ рдХреЗ рд▓реЗрдЦрди рдХреЗ рд╕рдордп рдирд╡реАрдирддрдо рд╣реИ, рд▓реЗрдХрд┐рди рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
http: //search.moden рдкрд░ рд╡рд┐рд░реВрдкрдг рд╕рд╛рдХреНрд╖реНрдп "MgntUtils" рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХреА рдЦреЛрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
ред org / ):
<dependency> <groupId>com.github.michaelgantman</groupId> <artifactId>MgntUtils</artifactId> <version>1.5.0.8</version> </dependency> <dependency> <groupId>com.github.michaelgantman</groupId> <artifactId>MgntUtils</artifactId> <version>1.5.0.8</version> <classifier>javadoc</classifier> </dependency> <dependency> <groupId>com.github.michaelgantman</groupId> <artifactId>MgntUtils</artifactId> <version>1.5.0.8</version> <classifier>sources</classifier> </dependency>
рдиреАрдЪреЗ рдмрд╕ рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╡рд┐рд╡рд░рдг рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╣реИред рдкреБрд╕реНрддрдХрд╛рд▓рдп рдПрдХ рд╡рд┐рд╕реНрддреГрдд рд╡рд┐рд╡рд░рдг рдХреЗ рд╕рд╛рде рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд▓рд┐рдЦрд╛ (рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ) рдЬрд╛рд╡рд╛рдбреЙрдХ рдХреЗ рд╕рд╛рде рдЖрддрд╛ рд╣реИред рддреЛ рдпрд╣рд╛рдБ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреА рд╕реВрдЪреА рд╣реИ:
рд╕реНрдЯреИрдХрдЯреНрд░реЗрд╕ рд╢реЛрд░ рдлрд╝рд┐рд▓реНрдЯрд░
рдореЗрд░реЗ рдЕрдиреБрднрд╡ рдореЗрдВ, рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдореЗрд░реЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рдФрд░ рдЙрдкрдпреЛрдЧреА рдереАред Stacktrace рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рджреМрд░рд╛рди рдПрдХ рдЬреАрд╡рдирд░рдХреНрд╖рдХ рд╣реИ рдпрд╛ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдЖрд╡реЗрджрди рдореЗрдВ рдХреНрдпрд╛ рдЧрд▓рдд рд╣реБрдЖ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╕рд░реНрд╡рд░ рд╕рд╛рдЗрдб рдкрд░ рд▓реЙрдЧреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдкрд░ рдЖрдк рднрд╛рд░реА рд╕реНрдЯреИрдХреНрдЯреНрд░реЗрд╕ рдХреЗ рдкрд╛рд░ рдЖ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдлреНрд░реЗрдорд╡рд░реНрдХ рдФрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рд░реНрд╡рд░ рд╕рдВрдмрдВрдзрд┐рдд рдкреИрдХреЗрдЬреЛрдВ рдХреА рд╕рдмрд╕реЗ рд▓рдВрдмреА рдмреЗрдХрд╛рд░ рдкреВрдВрдЫ рд╣реЛрддреА рд╣реИред рдФрд░ рдХрд╣реАрдВ рдЗрд╕ рдвреЗрд░ рдореЗрдВ, рдПрдХ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдЯреНрд░реЗрд╕ рдХреА рдХрдИ рд▓рд╛рдЗрдиреЗрдВ рд╣реИрдВ рдФрд░ рд╡реЗ рдмреЗрдХрд╛рд░ рдЬрд╛рдирдХрд╛рд░реА рджреНрд╡рд╛рд░рд╛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЦрдВрдбреЛрдВ рдореЗрдВ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдПрдХ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╕рд╛рдорд╛рди рдХреА рдЦреЛрдЬ рдХрд░рдирд╛ рдПрдХ рдмреБрд░рд╛ рд╕рдкрдирд╛ рдмрди рдЬрд╛рддрд╛ рд╣реИред рдпрд╣рд╛рдВ рдПрдХ рд▓рд┐рдВрдХ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЬреАрд╡рди рдХреЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ (рдмреЗрд╣реЛрд╢ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ)
https://dzone.com/articles/filtering-stack-trace-hell рдХреЗ рд╕рд╛рде рдЗрд╕реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП рдореЗрд░реА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ,
TextUtils рдирд╛рдордХ рдПрдХ рдХреНрд▓рд╛рд╕ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рдХрдИ рдУрд╡рд░рд▓реЛрдб рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХреЗ рд╕рд╛рде рд╡рд┐рдзрд┐
getStacktrace () рд╣реИ ред рдпрд╣ рдПрдХ рдлреЗрдВрдХрдиреЗ рдпреЛрдЧреНрдп рдЙрджрд╛рд╣рд░рдг рд▓реЗрддрд╛ рд╣реИ рдФрд░ рд╕рдВрдХреБрд▓ рдХреЗ рдЙрдкрд╕рд░реНрдЧ рдХреЛ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬреЛ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИрдВред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдПрдХ рд╣реА рдЙрдкрдпреЛрдЧрд┐рддрд╛ (рд╕рдВрд╕реНрдХрд░рдг 1.5.0.3 рд╕реЗ рд╢реБрд░реВ) рдореЗрдВ рд╡рд┐рдзрд┐
getStacktrace () рд╣реИ рдЬреЛ рдерд░реНрд╕рдЯреЗрдмрд▓ рдХреЗ рдмрдЬрд╛рдп CharSequence рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд▓реЗрддреА рд╣реИ рдФрд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдереНрд░реИрдЯреЗрдмрд▓ рд╕реЗ рдирд┐рдХрд╛рд▓реЗ рдЧрдП рд╕реНрдЯреИрдХрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдЯрд╛рдпрд░ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрдЧреНрд░рд╣рд┐рдд рд╕реНрдЯреИрдХрдЯреНрд░реЗрд╕ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдФрд░ рдЫреЛрдЯрд╛ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред рдЗрд╕рд▓рд┐рдП, рдореВрд▓ рд░реВрдк рд╕реЗ рд╕реНрдЯреИрдХрдЯреНрд░реИрдХ рдХреЛ рд░рди рдЯрд╛рдЗрдо рдкрд░ рдпрд╛ рдмрд╛рдж рдореЗрдВ рд▓реЙрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рд╕реА рднреА рдкрд╛рда рд╕реНрд░реЛрдд рд╕реЗ "рдордХреНрдЦреА рдкрд░" рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред (рдмрд╕ рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП - рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд╕рдВрдкреВрд░реНрдг рд▓реЙрдЧ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдФрд░ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддреА рд╣реИред рдпрд╣ рдХреЗрд╡рд▓ рд╕реНрдЯреИрдХрдЯреНрд░реЗрд╕ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдиреЗ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреА рд╣реИ рдЬрд┐рд╕реЗ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдХреЛрдИ рд▓реЙрдЧ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЕрдкрд╡рд╛рджреЛрдВ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ, рддреЛ рдЙрд╕реЗ рд▓реЙрдЧ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдФрд░ рд╕реНрдЯреИрдХрдЯреНрд░реЗрд╕ (рдПрд╕) рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрд╛рд░реЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рдХрд╛рд▓реЗрдВ рдФрд░ рдлрд┐рд░ рдЗрд╕ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдкреНрд░рддреНрдпреЗрдХ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╕реНрдЯреИрдХрдЯреНрд░реЗрд╕ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ)ред
рдпрд╣рд╛рдБ рдПрдХ рдЙрдкрдпреЛрдЧ рдЙрджрд╛рд╣рд░рдг рд╣реИред рдорд╛рди рд▓реЗрдВ рдХрд┐ рдЖрдкрдХрд╛ рдХрдВрдкрдиреА рдХреЛрдб рд╣рдореЗрд╢рд╛ рдЙрди рдкреИрдХреЗрдЬреЛрдВ рдореЗрдВ рд░рд╣рддрд╛ рд╣реИ рдЬреЛ "com.plainред *" рд╕реЗ рд╢реБрд░реВ рд╣реЛрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЖрдк рдРрд╕рд╛ рдЙрдкрд╕рд░реНрдЧ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдРрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ
logger.info(TextUtils.getStacktrace(e,true,"com.plain."));
рдпрд╣ рдмрд╣реБрдд рд╣реА рдЪрд╛рд▓рд╛рдХреА рд╕реЗ рдЯреНрд░реЗрд╕реНрд░реЗрд╕ рдХреЗ рдмреЗрдХрд╛рд░ рд╣рд┐рд╕реНрд╕реЛрдВ рдХреЛ рдмрд╣реБрдд рд╣реА рдЪрд╛рд▓рд╛рдХреА рд╕реЗ рдЫреЛрдбрд╝реЗрдЧрд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВрдиреЗ рдЙрдкрд╕рд░реНрдЧ рдХреЛ рдкреВрд░реНрд╡-рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдкрд╛рдпрд╛ рдФрд░ рдлрд┐рд░ рд╕реБрд╡рд┐рдзрд╛ рдкрджреНрдзрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛
TextUtils.getStacktrace(e);
рдпрд╣ рдРрд╕рд╛ рд╣реА рдХрд░реЗрдЧрд╛ред рдЙрдкрд╕рд░реНрдЧ рдкреВрд░реНрд╡ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд┐рд░реНрдл рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
setRelevantPackage("com.plain.");
рдпрджрд┐ рдЖрдк рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рджреНрд╡рд╛рд░рд╛ рдЗрд╕ рдорд╛рди рдХреЛ рдкреВрд░реНрд╡-рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕рдВрд╕реНрдХрд░рдг 1.1.0.1 рд╕реЗ рд╢реБрд░реВ рдХрд░рдХреЗ рдЖрдк "
com.plainред " рдФрд░ рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдорд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП "рдкрд░рд┐рд╡рд░реНрддрдиреАрдп"
MGNT_RELEVANT_PACKAGE рдпрд╛ рд╕рд┐рд╕реНрдЯрдо рдкреНрд░реЙрдкрд░реНрдЯреА "
mgnt.relevant.package " рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛
рдкрд╛рда рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдП рдмрд┐рдирд╛ рдЙрд╕ рдорд╛рди рдкрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛
TextUtils.setRelevantPackage ("com.plainред"); рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЖрдкрдХреЗ рдХреЛрдб рдореЗрдВред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпрджрд┐ рджреЛрдиреЛрдВ рд╕реЗрдЯ рдХрд┐рдП рдЧрдП рдереЗ, рддреЛ рд╕рд┐рд╕реНрдЯрдо рдкреНрд░реЙрдкрд░реНрдЯреА рд╡реИрд▓реНрдпреВ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдкрд░ рдкреВрд░реНрд╡рддрд╛ рд▓реЗ рд▓реЗрдЧреАред рдмрд╕ рдпрд╛рдж рджрд┐рд▓рд╛рдПрдВ рдХрд┐ рд╕рд┐рд╕реНрдЯрдо рдкреНрд░реЙрдкрд░реНрдЯреА рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдЖрдк рдЗрд╕реЗ рдЕрдкрдиреЗ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдореЗрдВ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ -D рдЭрдВрдбрд╛:
"-Dmgnt.relevant.package = com.plainред"
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрджрд┐ рдЖрдк рдкрд╣рд▓реЗ рдХрд┐рд╕реА рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдЗрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ 1.1.0.1 рдпрд╛ рдКрдкрд░ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдпрд╛ рд╕рд┐рд╕реНрдЯрдо рдкреНрд░реЙрдкрд░реНрдЯреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдФрд░ рдЖрдк рд╕реНрдкреНрд░рд┐рдВрдЧ рдкрд░рд┐рд╡реЗрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЕрдкрдиреЗ рд╕реНрдкреНрд░рд┐рдВрдЧ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдирд┐рдореНрди рдЦрдВрдб рдЬреЛрдбрд╝рдХрд░ рдЙрдкрд╕рд░реНрдЧ рдкреВрд░реНрд╡ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
<bean class="org.springframework.beans.factory.config.MethodInvokingFactoryBean"> <property name="targetClass" value="com.mgnt.utils.TextUtils"/> <property name="targetMethod" value="setRelevantPackage"/> <property name="arguments" value="com.plain."/> </bean>
рдЬрд╡рд╛рджреЛрдХ рд╕рдм рдХреБрдЫ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдмрддрд╛рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣рд╛рдБ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдЯреАрдЬрд╝рд░ рд╣реИ: рдЖрдкрдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реНрдЯреИрдХрдЯреНрд░реЗрд╕ рдорд┐рд▓реЗрдЧрд╛:
at com.plain.BookService.listBooks() at com.plain.BookService$$FastClassByCGLIB$$e7645040.invoke() at net.sf.cglib.proxy.MethodProxy.invoke() ... at com.plain.LoggingAspect.logging() at sun.reflect.NativeMethodAccessorImpl.invoke0() ... at com.plain.BookService$$EnhancerByCGLIB$$7cb147e4.listBooks() at com.plain.web.BookController.listBooks()
рдХреЗ рдмрдЬрд╛рдп
at com.plain.BookService.listBooks() at com.plain.BookService$$FastClassByCGLIB$$e7645040.invoke() at net.sf.cglib.proxy.MethodProxy.invoke() at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint() at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed() at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed() at com.plain.LoggingAspect.logging() at sun.reflect.NativeMethodAccessorImpl.invoke0() at sun.reflect.NativeMethodAccessorImpl.invoke() at sun.reflect.DelegatingMethodAccessorImpl.invoke() at java.lang.reflect.Method.invoke() at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs() at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod() at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke() at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed() at org.springframework.aop.interceptor.AbstractTraceInterceptor.invoke() at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed() at org.springframework.transaction.interceptor.TransactionInterceptor.invoke() at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed() at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke() at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed() at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept() at com.plain.BookService$$EnhancerByCGLIB$$7cb147e4.listBooks() at com.plain.web.BookController.listBooks()
рдЗрдВрдЯреАрдЬрд░, рд▓реЙрдиреНрдЧ рдЖрджрд┐ рдореЗрдВ рд╕рд╛рдЗрд▓реЗрдВрдЯ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкрд╛рд░реНрд╕рд┐рдВрдЧ
рдПрдХ рд╣реА рдХреНрд▓рд╛рд╕
рдЯреЗрдХреНрд╕реНрдЯрдпреВрдЯрд┐рд▓реНрд╕ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдЪреБрдкрдЪрд╛рдк рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ (рдмрд┐рдирд╛ рдХрд┐рд╕реА рдЕрдкрд╡рд╛рдж рдХреЗ) рдбрдмрд▓, рд▓реЙрдиреНрдЧ, рдЗрдВрдЯреЗрдЧрд░, рд╢реЙрд░реНрдЯ рдФрд░ рдмрд╛рдЗрдЯ рдХреЗ рдкреНрд░рдХрд╛рд░реЛрдВ рдореЗрдВред рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ
parseStringToLong () parseStringToInteger () рдЖрджрд┐ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рд╡реЗ рд╕рднреА 4 рддрд░реНрдХ рд▓реЗрддреЗ рд╣реИрдВ:
- рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рд╣реИ
- рдпрджрд┐ рдХреЛрдИ рдкрд╛рд░реНрд╕рд┐рдВрдЧ рд╕рдорд╕реНрдпрд╛ рд╣реБрдИ рд╣реИ, рддреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЗрд╡рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрдЦреНрдпрд╛ (рдбрдмрд▓, рд▓рдВрдмреА, рдкреВрд░реНрдгрд╛рдВрдХ, рд▓рдШреБ рдпрд╛ рдмрд╛рдЗрдЯ) рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди
- рд▓реЙрдЧ рдореЗрдВ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореБрджреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдпрджрд┐ рдкрд╣рд▓рд╛ рддрд░реНрдХ рд╢реВрдиреНрдп рд╣реИ (рд╢реВрдиреНрдп рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рдЫрдкреА рд╣реИ)
- рдПрдХ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдХреЗ рд░реВрдк рдореЗрдВ рдореБрджреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдЯреНрд░рд┐рдВрдЧ рдпрджрд┐ NumberFormatException рд╣реБрдИ (рд╢реВрдиреНрдп рд╣реЛ рд╕рдХрддреА рд╣реИ, рдФрд░ рддрдм рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдореБрджреНрд░рд┐рдд рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ)
рд╕рдордп рдЕрдВрддрд░рд╛рд▓ рдХреЗ рд▓рд┐рдП рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕реНрдЯреНрд░рд┐рдВрдЧ
рдПрдХ рд╣реА рд╡рд░реНрдЧ рдХреЗ
TextUtils рдореЗрдВ , рдПрдХ рд╡рд┐рдзрд┐ рд╣реИ
parseStringToTimeInterval (рд╕реНрдЯреНрд░рд┐рдВрдЧ рдорд╛рди) ред рдпрд╣ рд╡рд┐рдзрд┐ рдХреБрдЫ рд╕рдордп рдЕрдВрддрд░рд╛рд▓ рдорд╛рди рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рддреА рд╣реИ - рд╡реИрдХрд▓реНрдкрд┐рдХ рд╕рдордп рдЗрдХрд╛рдИ рдкреНрд░рддреНрдпрдп рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдорд╛рдиред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕реНрдЯреНрд░рд┐рдВрдЧ "38" рдХреЛ 38 рд╕реЗрдХрдВрдб, "24 рдореАрдЯрд░" - 24 рдорд┐рдирдЯ "4h" - 4 рдШрдВрдЯреЗ, "3 рдбреА" - 3 рджрд┐рди рдФрд░ "45" 45 рдорд┐рд▓реАрд╕реЗрдХрдВрдб рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд░реНрд╕ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рд╕рдорд░реНрдерд┐рдд рдкреНрд░рддреНрдпрдп рд╕реЗрдХрдВрдб рдХреЗ рд▓рд┐рдП "
рдПрд╕ ", рдорд┐рдирдЯ рдХреЗ рд▓рд┐рдП "
рдПрдо ", рдШрдВрдЯреЛрдВ рдХреЗ рд▓рд┐рдП "
рдПрдЪ " рдФрд░ рджрд┐рдиреЛрдВ рдХреЗ рд▓рд┐рдП "
рдбреА " рд╣реИрдВред рдкреНрд░рддреНрдпрдп рдХреЗ рдмрд┐рдирд╛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдорд┐рд▓реАрд╕реЗрдХрдВрдб рдореЗрдВ рдорд╛рди рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред рдкреНрд░рддреНрдпрдп рдорд╛рдорд▓реЗ рдЕрд╕рдВрд╡реЗрджрдирд╢реАрд▓ рд╣реИрдВред рдпрджрд┐ рдкреНрд░рджрд╛рди рдХреА рдЧрдИ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рдПрдХ рдЕрд╕рдорд░реНрдерд┐рдд рдкреНрд░рддреНрдпрдп рд╣реИ рдпрд╛ рдЛрдгрд╛рддреНрдордХ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдорд╛рди рдпрд╛ рд╢реВрдиреНрдп рд░рдЦрддрд╛ рд╣реИ рдпрд╛ рдЧреИрд░-рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдорд╛рди рд░рдЦрддрд╛ рд╣реИ - рддреЛ IllegalArgumentException рдХреЛ рдлреЗрдВрдХ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рд╡рд┐рдзрд┐ TimeInterval рд╡рд░реНрдЧ рдХреЛ рд▓реМрдЯрд╛рддреА рд╣реИ - рдЗрд╕ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдПрдХ рд╡рд░реНрдЧ рднреАред рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ, рдпрд╣ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдЧреЗрдЯрд░реНрд╕ рдФрд░ рд╕реЗрдЯрд░реНрд╕ рдХреЗ рд╕рд╛рде рджреЛ рдЧреБрдг рд░рдЦрддрд╛ рд╣реИ: рд▓рдВрдмрд╛ "рдорд╛рди" рдФрд░ java.util.concurrent.TimeUnitред рд▓реЗрдХрд┐рди
рдЧреЗрдЯрд░реНрд╕ рдФрд░ рд╕реЗрдЯрд░реНрд╕ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЗрд╕ рдХреНрд▓рд╛рд╕ рдореЗрдВ
рдореЗрдорд┐рд▓рд┐рд╕ () ,
рдЯреВрд╕реЗрдХрдВрдбреНрд╕ () ,
рдЯреВрдорд┐рдиреБрдЯреНрд╕ () ,
рдЯреВрд╣реЛрд░реНрд╕ () рдЯреБрдбреЗ () рдХреЗ рддрд░реАрдХреЗ рд╣реИрдВ ред рд╡реЗ рд╡рд┐рдзрд┐рдпрд╛рдБ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕рдордп рдкреИрдорд╛рдиреЗ рдореЗрдВ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рд▓реМрдЯрддреА рд╣реИрдВ (рдХрдХреНрд╖рд╛
java.util.concurrent.TimeUn.nn рдХреЗ рд╕рдорд╛рди рддрд░реАрдХреЗ)
рдпрд╣ рд╡рд┐рдзрд┐ рд╕рдордп рдЕрдВрддрд░рд╛рд▓ рдЧреБрдг рдЬреИрд╕реЗ рдЯрд╛рдЗрдордЖрдЙрдЯ рдпрд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓реЛрдВ рд╕реЗ рдкреНрд░рддреАрдХреНрд╖рд╛ рдЕрд╡рдзрд┐ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддреА рд╣реИред рдпрд╣ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕рдордп рдХреЗ рдкреИрдорд╛рдиреЛрдВ рд╕реЗ рдЖрдЧреЗ-рдкреАрдЫреЗ рдорд┐рд▓реАрд╕реЗрдХрдВрдб рддрдХ рдХреА рдЕрдирд╛рд╡рд╢реНрдпрдХ рдЧрдгрдирд╛ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рдмрд╛рдд рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕
рдореЗрдердбрд╡реЙрдХрд┐рдВрдЧ рдЗрдиреНрдЯрд░рд╡рд▓ рдкреНрд░реЙрдкрд░реНрдЯреА рд╣реИ рдЬрд┐рд╕реЗ рдЖрдкрдХреЛ 5 рджрд┐рдиреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рддреЛ рдорд┐рд▓реАрд╕реЗрдХрдВрдб рдорд╛рди рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЧрдгрдирд╛ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ 5 рджрд┐рди 432000000 рдорд┐рд▓реАрд╕реЗрдХрдВрдб рд╣реИ (рдЬрд╛рд╣рд┐рд░ рд╣реИ рдХрд┐ рдПрдХ рдЕрд╕рдВрднрд╡ рдХрд╛рдо рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдХрд╖реНрдЯрдкреНрд░рдж рдФрд░ рддреНрд░реБрдЯрд┐-рдкреНрд░рд╡рдг) рдФрд░ рдлрд┐рд░ рдЬреЛ рдХреЛрдИ рднреА 432000000 рдорд╛рди рджреЗрдЦрддрд╛ рд╣реИ, рдЙрд╕реЗ 5 рдкрд░ рд╡рд╛рдкрд╕ рдЧрдгрдирд╛ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рджрд┐рдиреЛрдВ рдЬреЛ рдирд┐рд░рд╛рд╢рд╛рдЬрдирдХ рд╣реИред рд▓реЗрдХрд┐рди рдЗрд╕ рдкрджреНрдзрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрдкрдХреЗ рдкрд╛рд╕ "5d" рдкрд░ рдПрдХ рд╕рдВрдкрддреНрддрд┐ рдореВрд▓реНрдп рд╣реЛрдЧрд╛ рдФрд░ рдХреЛрдб рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╣реЛрдЧрд╛
long milliseconds = TextUtils.parsingStringToTimeInterval("5d").toMillis();
рдЖрдкрдХреА рд░реВрдкрд╛рдВрддрд░рдг рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░реЗрдЧрд╛ред рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдпрд╣ рдПрдХ рдЕрддрд┐ рдЬрдЯрд┐рд▓ рд╡рд┐рд╢реЗрд╖рддрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЖрдкрдХреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рд╕рд╛рджрдЧреА рдФрд░ рд╕реНрдкрд╖реНрдЯрддрд╛ рдЬреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдХреБрдЫ рдирд┐рд░рд╛рд╢рд╛ рдФрд░ "рдмреЗрд╡рдХреВрдл" рдЧрд▓рддрдлрд╣рдореА рдХреЛ рдорд┐рд▓реАрд╕реЗрдХрдВрдб рдмрдЧ рдореЗрдВ рдмрдЪрд╛ рд╕рдХрддрд╛ рд╣реИред
рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреА рддреБрд▓рдирд╛ рдХрд░реЗрдВ
рдпрд╣ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рд╕рдВрд╕реНрдХрд░рдг рдФрд░ рд╡рд┐рд╕реЗ-рд╡рд░реНрд╕рд╛ рдореЗрдВ рдмрджрд▓рдиреЗ рдФрд░ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдФрд░ рд╕рдВрд╕реНрдХрд░рдг рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХреА рдареАрдХ рд╕реЗ рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред рдЕрдХреНрд╕рд░ рдЕрдЧрд░ рдЖрдкрдХреЛ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреА рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рддреЛ рдЖрдк рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреА рддреБрд▓рдирд╛ рдХрд░рддреЗ рд╣реИрдВред рддреЛ рдЪрд▓реЛ рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ рд╕рдВрд╕реНрдХрд░рдг "1.5.3" рд╕рдВрд╕реНрдХрд░рдг "1.3.1" рд╕реЗ рдЕрдзрд┐рдХ рд╣реЛрдЧрд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЕрдЧрд░ рдЖрдк рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ "1.4.2" рдФрд░ "1.12.3" рдХреА рддреБрд▓рдирд╛ рдХрд░реЗрдВрдЧреЗ рддреЛ рд╕реНрдЯреНрд░рд┐рдВрдЧ "1.4.2" рдЧрд▓рддреА рд╕реЗ рдЕрдзрд┐рдХ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рддреЛ рдпрд╣ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдЗрд╕ рддрд░рд╣ рдХреА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдЦреНрдпрд╛рд▓ рд░рдЦрддреА рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╡рд░реНрдЬрдирд░реЗрдВрдЬ рдХреНрд▓рд╛рд╕ рдХрд╛ рдкрд░рд┐рдЪрдп рджреЗрддреА рд╣реИ рдФрд░ рд╡рд░реНрдЬрди рд░реЗрдВрдЬ рдкрд░ рдкрд░рд┐рдЪрд╛рд▓рди рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред (рдХрдХреНрд╖рд╛
TextUtils рдФрд░ рд╡рд░реНрдЧ
VersionRange рдореЗрдВ
рддреБрд▓рдирд╛ рдХреЗ рддрд░реАрдХреЗ рджреЗрдЦреЗрдВ)
рд╕реНрдЯреНрд░рд┐рдВрдЧ рдпреВрдирд┐рдХреЛрдб рдХрдирд╡рд░реНрдЯрд░
рдХреНрд▓рд╛рд╕
StringUnicodeEncoderDecoder рдореЗрдВ рдРрд╕реА рд╡рд┐рдзрд┐рдпрд╛рдБ рд╣реИрдВ рдЬреЛ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ (рдХрд┐рд╕реА рднреА рднрд╛рд╖рд╛ рдореЗрдВ) рдХреЛ рдпреВрдирд┐рдХреЛрдб рд╡рд░реНрдгреЛрдВ рдФрд░ рдЕрдиреБрдХреНрд░рдо-рд╡рд░реНрд╕рд╛ рдХреЗ рдЕрдиреБрдХреНрд░рдо рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░ рд╕рдХрддреА рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ "рд╣реИрд▓реЛ рд╡рд░реНрд▓реНрдб" рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╣реЛ рдЬрд╛рдПрдЧрд╛
"u0048 \ u0065 \ u006c \ u006c \ u006f \ u0020 \ u0057 \ u006f \ u0072 \ u006c \ u0064"
рдФрд░ рд╡рд╛рдкрд╕ рдмрд╣рд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдЬреАрд╡рдирдЪрдХреНрд░ рдкреНрд░рдмрдВрдзрди (рд╕реНрд╡-рдЗрдВрд╕реНрдЯреЗрдВрдЯрд┐рдВрдЧ рдХрд╛рд░рдЦрд╛рдиреЗ)
рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдПрдХ рдкреИрдХреЗрдЬ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдХреБрдЫ рдЫреЛрдЯреЗ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдБрдЪреЗ рд╣реЛрддреЗ рд╣реИрдВ рдЬреЛ рдлреИрдХреНрдЯрд░рд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЛ рд╕рд░рд▓ рдФрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдПрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рдареЛрд╕ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред рдкреИрдХреЗрдЬ рдореЗрдВ рд╕рд┐рд░реНрдл 2 рд╡рд░реНрдЧ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:
BaseEntityFactory рдФрд░
BaseEntity ред рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдпрд╣ рдЬреЛ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдБрдЪрд╛ рд╣реИ рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рдпрджрд┐ рдЖрдк рдПрдХ рдРрд╕реА рдлреИрдХреНрдЯреНрд░реА рдмрдирд╛рддреЗ рд╣реИрдВ рдЬреЛ
рдмреЗрд╕рдЗрдиреНрддреЗрдпрдлреИрдХреНрдЯрд░реА рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рддреА рд╣реИ рдФрд░ рдХреБрдЫ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдЗрд╕рдХреЗ рд╕рднреА рдареЛрд╕ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдиреЛрдВ рдХреЗ рд╕рд╛рде рд╣реИ рдЬреЛ
рдмреЗрд╕рдЗрдиреНрдЯрд┐рдЯреА рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдХрдВрдХреНрд░реАрдЯ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреНрд▓рд╛рд╕ рд╢реНрд░реЗрдгреА рдХреЗ рдЙрджрд╛рд╣рд░рдг рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЖрдкрдХреЗ рдХрд╛рд░рдЦрд╛рдиреЗ рдореЗрдВ рдбрд╛рд▓реЗ рдЬрд╛рдПрдВрдЧреЗред рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдХрд╛рд░рдЦрд╛рдиреЗ рдХреЛ рдХреИрд╕реЗ рдФрд░ рдХрдм рдЖрдмрд╛рдж рдХрд░рдирд╛ рд╣реИ, рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд┐рдВрддрд╛ рдХрд░рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рдирд╣реАрдВ рд╣реИред рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪрд╛ рдЖрдкрдХреЗ рд▓рд┐рдП рдпрд╣ рддрдм рдХрд░реЗрдЧрд╛ рдЬрдм рдЖрдкрдХреЗ рдХрдВрдХреНрд░реАрдЯ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╡рд░реНрдЧ рдХреЗ рдирд┐рд░реНрдорд╛рддрд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рддреЛ рдЖрдкрдХреЛ рдмрд╕ рдЗрддрдирд╛ рдХрд░рдирд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рднреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдареЛрд╕ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрдХреНрд╖рд╛рдПрдВ рдмрдирд╛рдирд╛ рд╣реИ рдФрд░ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рд╣реИ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рд▓рд┐рдП рдПрдХ рдирд┐рд░реНрдорд╛рддрд╛ рдХреЛ рд▓рдЧрд╛рдпрд╛ рдЬрд╛рдПред рдЙрд╕рдХреЗ рдмрд╛рдж, рдЖрдк рдЕрдкрдиреЗ рдХрд╛рд░рдЦрд╛рдиреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдкрдиреЗ рдХреЛрдб рдореЗрдВ рдХрд╣реАрдВ рднреА рдЕрдкрдиреЗ рдХрд┐рд╕реА рднреА рдареЛрд╕ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╡рд░реНрдЧ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╡рд┐рд╡рд░рдг рд╣реИред рдХреБрдЫ рдФрд░ рд╡рд┐рд╡рд░рдг рд╣реИрдВ, рд▓реЗрдХрд┐рди рдмрд╣реБрдд рд╕реЗ рдирд╣реАрдВ рд╣реИрдВред рдЗрд╕ рдкреИрдХреЗрдЬ рдХреЗ рд╡рд┐рд╕реНрддреГрдд рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП рдХреГрдкрдпрд╛ рдкреИрдХреЗрдЬ
com.mgnt.lifecycle.management рд╡рд┐рд╡рд░рдг рдХреЗ Javadoc API рджреЗрдЦреЗрдВред рд╕рд╛рде рд╣реА, рд╕реНрд░реЛрдд рдХреЛрдб рдореЗрдВ рдкреИрдХреЗрдЬ com.mgnt.lifecycle.management.example рд╢рд╛рдорд┐рд▓ рд╣реИ рдЬреЛ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдкрд░ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЯрд┐рдкреНрдкрдгреА рдФрд░ рд╡рд┐рд╕реНрддреГрдд рдХреЛрдб рдЙрджрд╛рд╣рд░рдг рд░рдЦрддрд╛ рд╣реИред
рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдЗрд╕реЗ рд╕реНрдкреНрд░рд┐рдВрдЧ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рдкрд╛рдпрд╛ред рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рд╡рд╕рдВрдд рдЗрд╕рдХреА рд╢реБрд░реБрдЖрдд рдХреЗ рджреМрд░рд╛рди рд╕рднреА рд╕реЗрдо рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП рд╡рд╕рдВрдд рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ, рдпрджрд┐ рд╣рдо рдмрд╕ рдЕрдкрдиреЗ рдареЛрд╕ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рд╕реНрдкреНрд░рд┐рдВрдЧ рдмреАрдиреНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдШреЛрд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╕реНрдкреНрд░рд┐рдВрдЧ рдЙрдиреНрд╣реЗрдВ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рддреБрд░рдВрдд рд╢реБрд░реВ рдХрд░ рджреЗрдЧрд╛, рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдпрд╣ рд╣рдорд╛рд░реЗ рдХрд╛рд░рдЦрд╛рдиреЗ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЖрд░рдВрдн рдХрд░ рджреЗрдЧрд╛ред рдпрд╣ рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреБрдЫ рдмреАрди рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреА рд╕рдВрдкрддреНрддрд┐ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдХрдИ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА рдЬреЛ рд░рдирдЯрд╛рдЗрдо рдкрд░ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИред рддреЛ рдЙрд╕ рд╕рдордп, рдЖрдк рдЖрд╡рд╢реНрдпрдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдХрд╛рд░рдЦрд╛рдиреЗ рдХреЗ рддрд░реАрдХреЗ
getInstance (java.lang.String) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдЖрдкрдХреЛ рдЕрдкрдиреА рд╕рднреА рдареЛрд╕ рддрд╛рддреНрдХрд╛рд▓рд┐рдХрддрд╛рдУрдВ рдХреЛ рдЕрдкрдиреЗ рдмреАрди рдореЗрдВ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрдЧрд╛ рдФрд░ рд╡рд╕рдВрдд рдкрд░рд┐рднрд╛рд╖рд┐рдд
рдмреАрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рд╕реНрдкреНрд░рд┐рдВрдЧ
рдмреАрди рдлреИрдХреНрдЯреНрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдирд╛ рдкрдбрд╝реЗрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЧреИрд░-рдШреБрд╕рдкреИрда рдХреА рд╕реНрдкреНрд░рд┐рдВрдЧ рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди рдХрд░реЗрдЧрд╛ (рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЖрдк рдЙрди рдШрдЯрдХреЛрдВ рдХреЛ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рдирдХреА рдХреЛрдИ рдирд┐рд░реНрднрд░рддрд╛ рдирд╣реАрдВ рд╣реИ рд╕реНрдкреНрд░рд┐рдВрдЧ)ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЕрдЧрд░ рдмрд╛рдж рдХреЗ рдХрд┐рд╕реА рдЪрд░рдг рдореЗрдВ рдЖрдкрдХреЛ рдЕрдзрд┐рдХ рдареЛрд╕ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рддреЛ рдЖрдкрдХреЛ рдмрд╕ рдЗрддрдирд╛ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдЕрдкрдиреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╡рд░реНрдЧреЛрдВ рдХреЛ рдЕрдкрдиреЗ рдХреЛрдб рдореЗрдВ рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╕реНрдкреНрд░рд┐рдВрдЧ рдмреАрдиреНрд╕ рдШреЛрд╖рд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рд╢реЗрд╖ рд╕реНрдкреНрд░рд┐рдВрдЧ рдФрд░ рдЗрд╕ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛!
рдлрд╝рд╛рдЗрд▓ рдХреЗ рдмрд░реНрддрди
рдпрд╣ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХрд┐рд╕реА рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдпрд╛ рд╡рд░реНрдг рд╕реЗрдЯ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдП рдмрд┐рдирд╛ рдпрд╛ рдмрд╕ рдПрдХ рдмрд╛рдЗрдЯ рд╕рд░рдгреА рдХреЗ рд░реВрдк рдореЗрдВ рдкрдврд╝рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред рдпрд╣ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рддреЗрдЬреА рд╕реЗ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд▓рд┐рдП nio рдкреИрдХреЗрдЬ рдФрд░ рдмрдлрд╝рд░реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИред рдЗрд╕ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХрддрдо рдлрд╝рд╛рдЗрд▓ рдЖрдХрд╛рд░ 2G рд╣реИред
рд╕рдордп рдХрд╛ рд╕рджреБрдкрдпреЛрдЧ
рдпрд╣ рдХреЗрд╡рд▓ рдПрдХ рдПрдХрд▓ рд╕реБрд╡рд┐рдзрд╛ рд╡рд┐рдзрд┐ рд╣реИ рдЬреЛ рдереНрд░реЗрдб.рд╕реНрд▓реАрдк () рдХреЗ рд╕рдорд╛рди рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдореМрди рд╣реИред рдпрд╛рдиреА рдпрд╣ "IterruptedException" рдирд┐рдЧрд▓ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ 2 рддрд░реНрдХ рд▓реЗрддрд╛ рд╣реИ: рдиреАрдВрдж рдФрд░ рдорд╛рдк рдЗрдХрд╛рдИ рдХреЗ рд▓рд┐рдП рд╕рдордпред рдЗрд╕рд▓рд┐рдП рдЗрд╕рдХреЗ рдмрдЬрд╛рдп
try { Thread.sleep(2000); } catch (InterruptedException ie) { }
рдЖрдк рдмрд╕ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ:
TimeUtils.sleepFor(2, TimeUnit.SECONDS);
рдореБрдЭреЗ рд▓рдЧрд╛ рдХрд┐ рдпрд╣ рдкреНрдпрд╛рд░рд╛ рд╣реИ
рддреЛ рдпрд╣ рдмрд╛рдд рд╣реИред рдЗрд╕ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВред рдпрд╣ рдПрдордЖрдИрдЯреА рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреЗ рд╕рд╛рде рдЖрддрд╛ рд╣реИ - рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рдЬреНрдЮрд╛рдд рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдЕрдиреБрдЬреНрдЮреЗрдп рд▓рд╛рдЗрд╕реЗрдВрд╕реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХред рд╕реНрд░реЛрдд рдХреЛрдб, Javadoc рдФрд░ рдмрд╛рдЗрдирд░реА рд╕рдВрд╕реНрдХрд░рдг рдЙрдкрд░реЛрдХреНрдд рд▓рд┐рдВрдХ рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реИред рдХреЛрдб рдХреЛ JDK 8 рджреНрд╡рд╛рд░рд╛ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рд▓реЗрдХрд┐рди рдЗрд╕рдореЗрдВ рд╕рдВрд╕реНрдХрд░рдг 8 рдХреА рдХреЛрдИ рд╡рд┐рд╢реЗрд╖рддрд╛ рдирд╣реАрдВ рд╣реИред рдпрд╣ рдЬрд╛рд╡рд╛ 7 рдХреЗ рд╕рд╛рде рд╕рдмрд╕реЗ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдЬрд╛рд╡рд╛ 6 рдФрд░ 5 рдХреЗ рд╕рд╛рде рднреА рдХрд╛рдо рдХрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдЙрди рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдлрд┐рдЯ рджреЗрдЦрддреЗ рд╣реИрдВ, рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВ, рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рджреВрд╕рд░реЛрдВ рдХреЛ рдмрддрд╛рдПрдВ рдФрд░ рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреЛрдИ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╣реИ рддреЛ рдореБрдЭреЗ michael_gantman@yahoo.com рдкрд░ рдПрдХ рдиреЛрдЯ рдЫреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВред