더북(TheBook)

코드 4-10은 싱글톤 빈 CacheSingletonBean이 바라보는 싱글톤 빈입니다.

코드 4-10 시동 순서를 지정

package com.devchronicles.singleton;

import javax.annotation.PostConstruct;
import javax.ejb.Singleton;
import javax.ejb.Startup;
import java.util.logging.Logger;

@Startup
@Singleton
public class MyLoggingBean {

private Logger logger;

@PostConstruct
public void start(){
    logger = Logger.getLogger("MyGlobalLogger");
    logger.info("음, 내가 먼저 시작합니다!!!");
}

public void logInfo(String msg){
    logger.info(msg);
}
}

빈이 정말 생성되어 생애 주기가 시작되었는지 @PostConstruct로 확인해봅시다. @PostConstruct를 붙인 메서드는 의존체 주입이 모두 끝난 후 비즈니스 메서드를 최초로 호출하기 전, 새로 생성한 빈에서 실행됩니다. 물론 실제론 다른 빈 안에서 싱글톤 빈이 필요한 경우가 더 많겠죠. 꼭 싱글톤이어야 하는 이유와 EJB 통합 및 접근 등은 뒷장에서 다시 이야기합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.