Сервлет JAX-WS уничтожить () - PullRequest
0 голосов
/ 26 сентября 2010

У меня есть некоторые ресурсы, которые я выделяю при создании моей веб-службы, которые мне нужно освободить (например, мне нужно очищать и закрывать файловые потоки, когда сервлет закрывается). Как выполнить код при вызове метода destroy() сервлета JAX-WS?

Ответы [ 2 ]

1 голос
/ 27 сентября 2010

Я предлагаю использовать ServletContextListener для этого.Напишите пользовательскую реализацию этого интерфейса, которая делает то, что вы хотите, а затем подключите ее к вашему web.xml, используя элемент <listener> ( пример ).

Этот жизненный цикл не совсемсоответствует сервлету, но он должен быть достаточно близок для ваших целей.

0 голосов
/ 31 декабря 2015

Я просто хочу упомянуть, что вы можете аннотировать метод с помощью @PreDestroy; из JavaDoc:

Аннотация PreDestroy используется для методов в качестве обратного вызова уведомление о том, что экземпляр находится в процессе удаляется контейнером. Метод, аннотированный с помощью PreDestroy: обычно используется для освобождения ресурсов, которые он имел. [...]

См. Создание простой веб-службы и клиентов с помощью JAX-WS

...