Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / аналоги TimerTask.html / 8 сообщений из 8, страница 1 из 1
23.05.2017, 13:48
    #39458069
questioner
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
аналоги TimerTask.html
Задача следующая - есть 2 приложения. Первое шлёт запросы второму. Нужно сделать запись в базе если второе приложение не ответило в течении некоторого интервала времени.

Беглый гуглинг выдал класс.

https://docs.oracle.com/javase/7/docs/api/java/util/TimerTask.html


При отправки запроса сохранять в мапу этот объект и если ответ пришёл до истечения этого срока, то делать cancel()


Что скажете? может чего-то подскажете?
...
Рейтинг: 0 / 0
23.05.2017, 13:58
    #39458081
questioner
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
аналоги TimerTask.html
в проекте есть спринг
...
Рейтинг: 0 / 0
23.05.2017, 13:58
    #39458082
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
аналоги TimerTask.html
questionerЧто скажете? может чего-то подскажете?
Да, обычный java.util.concurrent.Future.

Код: java
1.
2.
3.
4.
5.
6.
7.
Future<Result> f = executor.submit(remoteRequestTask);

try {
   Result result = f.get(timeout, SECONDS);
} catch(TimeoutException te) {
   persistTimeoutEvent(remoteRequestTask);
}
...
Рейтинг: 0 / 0
23.05.2017, 14:23
    #39458114
questioner
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
аналоги TimerTask.html
BlazkowiczquestionerЧто скажете? может чего-то подскажете?
Да, обычный java.util.concurrent.Future.

Код: java
1.
2.
3.
4.
5.
6.
7.
Future<Result> f = executor.submit(remoteRequestTask);

try {
   Result result = f.get(timeout, SECONDS);
} catch(TimeoutException te) {
   persistTimeoutEvent(remoteRequestTask);
}



и где-то хранить все remoteRequestTask ?

просто ответы приходят асинхронно.
...
Рейтинг: 0 / 0
23.05.2017, 15:09
    #39458167
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
аналоги TimerTask.html
questionerв проекте есть спринг

Тогда тоже самое, только вместо executor.submit, любой service с @Async методом.
...
Рейтинг: 0 / 0
23.05.2017, 15:14
    #39458170
questioner
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
аналоги TimerTask.html
Blazkowicz,

a можете объяснить что за remoteRequestTask ?
...
Рейтинг: 0 / 0
23.05.2017, 15:17
    #39458175
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
аналоги TimerTask.html
questionerи где-то хранить все remoteRequestTask ?

В куче, как и любые другие объекты.

questionerпросто ответы приходят асинхронно.
Это понятно Future для этого и нужен. Если вам не хочется блокироваться, то так и нужно говорить. Но вообще я бы сильно подумал прежде чем callback-и городить. Они не очень удобные в отладке и поддержке.

http://iteratrlearning.com/java9/2016/09/13/java9-timeouts-completablefutures.html
...
Рейтинг: 0 / 0
23.05.2017, 15:18
    #39458177
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
аналоги TimerTask.html
questionera можете объяснить что за remoteRequestTask ?
А из метода submit() не очевидно?
Это ваша задача, которая умеет как выполнятся так и персистится.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / аналоги TimerTask.html / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]