次のように定義された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アプリケーションが終了したときにメソッドが実行されるようにするには、何を変更すればよいですか?