次のように定義されたSpring Beanがありbeans.xml
ます。
<context:annotation-config />
[...]
<bean id="myBackend" class="mycompany.BackendBean" scope="singleton" />
Bean 内には 2 つのメソッドがあり、Web アプリケーションの開始時と終了前に実行する必要があります。
public class BackendBean implements IBackend {
private static final Logger LOGGER = LoggerFactory
.getLogger(BackendBean.class);
@PostConstruct
public void init()
{
LOGGER.debug("init");
}
@PreDestroy
public void destroy()
{
LOGGER.debug("destroy");
}
}
サーバー ( mvn jetty:run
) を実行すると、コンソールにメソッドの出力が表示され、メソッドが実行されinit
たと判断できます。init
を押しCtrl-C
て Jetty のシャットダウンを開始すると、destroy
メソッドの出力が表示されません。
destroy
アプリケーションが終了したときにメソッドが実行されるようにするには、何を変更すればよいですか?