Spring DisposableBean не работает - PullRequest
2 голосов
/ 11 марта 2011

Я внедряю DisposableBean в один из моих компонентов, чтобы получать уведомления, когда мой сервер выключается. Однако метод уничтожения никогда не вызывается.

Я использую Tomcat с Spring 3.

Есть предложения?

Ответы [ 3 ]

1 голос
/ 12 марта 2011

Используйте ContextLoaderListener и переопределите метод contextDestroyed.

Не забудьте объявить ContextLoaderListener в вашем web.xml.

0 голосов
/ 27 апреля 2019

Я попробовал эту опцию.

Для объекта obj с методом destroy() добавьте следующее:

Runtime.getRuntime () .addShutdownHook (new Thread (obj:: уничтожить));

0 голосов
/ 19 июля 2015

Вместо использования ApplicationContext, используйте AbstractApplicationContext.Тогда зарегистрируйте то же самое.Spring не будет вызывать DisposableBean для настольного приложения, если вы используете ApplicationContext.

Пример: AbstractApplicationContext appCxt = ​​new ClassPathXmlApplicationContext ("spring.xml");appCxt.registerShutdownHook ();

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...