Mam fasoli Wiosna zdefiniowany w beans.xml
następująco:metoda @PreDestroy z fasoli Wiosna singleton nie nazywa
<context:annotation-config />
[...]
<bean id="myBackend" class="mycompany.BackendBean" scope="singleton" />
Wewnątrz fasoli są 2 metody, które muszą być wykonane na początku i przed zakończeniem aplikacja internetowa:
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");
}
}
Kiedy uruchomić serwer (mvn jetty:run
), widzę wyjście metody init
w konsoli, z której wnioskuję, że metoda init
jest wykonywany.
Po naciśnięciu Ctrl-C
i Jetty zaczyna się wyłączać, nie widzę wyjścia z metody destroy
.
Co należy zmienić, aby metoda destroy
została wykonana po zakończeniu aplikacji?
Czy planujesz uruchomić aplikację na pomoście? Lub musisz uruchomić go w większej ilości pojemników? – ssedano
Używam Jetty tylko do szybkich testów. W produkcji używam Apache Tomcat 7. –