Thread View: pl.comp.lang.java
2 messages
2 total messages
Started by Marcin
Fri, 16 Sep 2011 15:03
Wyjątek systemowy rzucany w metodzie @Timeout
Author: Marcin
Date: Fri, 16 Sep 2011 15:03
Date: Fri, 16 Sep 2011 15:03
18 lines
1871 bytes
1871 bytes
Witam, w tworzonej aplikacji potrzebuję pobierać co pewien okres czasu dane z innego serwera. W tym celu korzystam z serwisu TimerService i w bean'ie tworzę metodę @Timeout. Wszystko jest dobrze, aż do momentu kiedy zostanie zerwane połączenie internetowe. Wtedy funkcja wywoływana z metody @Timeout rzuca wyjątek systemowy. Kontener wyłapuje ten wyjątek i od razu wywołuje metodę timeout'ową po raz drugi. Jest to zachowanie zgodne z tym co wyczytałem. Jeżeli jednak po drugi zostanie rzucony wyjątek, metoda @Timeout nie jest już nigdy wywoływana. Nawet po upłynięciu kolejnego okresu czasu. Czy to jest poprawne zachowanie, że po kilku nieudanych retry'ach timer jest usuwany? W taki razie jak zabezpieczyć się przed tym? Chciałbym aby metoda @Timeout była zawsze wywoływana co zadany okres, niezależnie od tego jakie błędy wystąpiły poprzedni razem. Pozdrawiam, Marcin -- Wysłano z serwisu OnetNiusy: http://niusy.onet.pl
Re: Wyjątek systemowy rzucany w metodzie @Timeout
Author: nullpointer
Date: Fri, 16 Sep 2011 16:10
Date: Fri, 16 Sep 2011 16:10
17 lines
1178 bytes
1178 bytes
Rozumiem że z jakichś powodów nie możesz zrobić tak:
@Timeout
public void ejbTimeout() {
try {
// kod walący wyjątkiem
} catch (Exception ex) {
logger.warn("Tym razem coś poszło nie tak...." + ex.getMessage());
}
}
Pytanie więc, dlaczego nie możesz?
--
npe
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads