@PreDestroy μ΄λ
Έν
μ΄μ
μ Javaμ Java EE (Enterprise Edition) λ° Spring νλ μμν¬μμ μ¬μ©νλ μ΄λ
Έν
μ΄μ
μΌλ‘, λΉ(Bean)μ΄ μλ©ΈλκΈ° μ μ νΈμΆλ λ©μλλ₯Ό μ§μ νλ μν μ ν©λλ€. μ£Όλ‘ μ ν리μΌμ΄μ
μμ μμμ μ 리νκ±°λ μ’
λ£ μμ
μ μ²λ¦¬ν λ μ¬μ©λ©λλ€.
@PreDestroyμ΄λ Έν μ΄μ μ λμ:- λΉμ΄ 컨ν μ΄λ(Spring λλ Java EE 컨ν μ΄λ)μ μν΄ μ κ±°λκΈ° μ§μ μ μ€νλλ λ©μλλ₯Ό μ μν©λλ€.
- μ΄ λ©μλλ λΉμ λΌμ΄νμ¬μ΄ν΄μ΄ λλ λ νΈμΆλμ΄, ν΄λΉ λΉμ΄ μ¬μ©ν 리μμ€λ μ°κ²°λ μμ(νμΌ, λ°μ΄ν°λ² μ΄μ€ μ°κ²° λ±)μ μμ νκ² μ 리ν μ μλ κΈ°νλ₯Ό μ 곡ν©λλ€.
- μ¬μ© μμ:
import javax.annotation.PreDestroy;
public class MyBean {
// λΉμ΄ μλ©ΈλκΈ° μ μ νΈμΆλλ λ©μλ
@PreDestroy
public void cleanup() {
System.out.println("Cleaning up resources before bean is destroyed");
// 리μμ€ μ 리, νμΌ λ«κΈ°, DB μ°κ²° μ’
λ£ λ±
}
}- Springμμ
@PreDestroyλ λ³΄ν΅ μ±κΈν€ λΉμ΄λ νλ‘ν νμ λΉμ λν΄ μ¬μ©λλ©°, ν΄λΉ λΉμ΄ μ€νλ§ μ»¨ν μ΄λμ μν΄ κ΄λ¦¬λκ³ μλ©Έλ λ νΈμΆλ©λλ€. - λΉμ΄ μ ν리μΌμ΄μ
μμ λ μ΄μ νμνμ§ μμ λλ, 컨ν
μ΄λκ° μ’
λ£λ λ,
@PreDestroyκ° λΆμ λ©μλκ° νΈμΆλ©λλ€.
- λ°μ΄ν°λ² μ΄μ€ μ°κ²° ν΄μ
- νμΌμ΄λ λ€νΈμν¬ μμ μ 리
- μ€λ λ ν μ’ λ£
- μΊμ μ 리
@PreDestroyλ μμμ μμ νκ² μ 리νμ¬ λ©λͺ¨λ¦¬ λμλ μμ μ κΈκ³Ό κ°μ λ¬Έμ λ₯Ό λ°©μ§νλ λ° μ€μν μν μ ν©λλ€.