powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Механизм выполнения длительных заданий
9 сообщений из 9, страница 1 из 1
Механизм выполнения длительных заданий
    #37715819
rabiter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день, коллеги.
Хотел посоветоваться. Тонкий клиент. Пользователь запускает процедуру генерации отчета. Генерация может занимать довольно большое время. При этом пользователь должен иметь возможность работать дальше с приложением. По окончанию генерации отчета у пользователя в интерфейсе появляется сообщение-popup с предложением загрузить сформированный отчет по указанной ссылке.

Как я вижу простейший вариант реализации - когда пользователь запрашивает генерацию отчета, на сервере создается отдельный, ответственный за это поток. Пользователь в это время может работать дальше - посылать запросы, получать ответы - все как обычно. Факт окончания формирования отчета отображается в сессии пользователя и интерфейс отрабатывает это таким образом, что пользователь видит ссылку на файл сформированного отчета.
Описанный сценарий реализации - то что первое пришло на ум. Скорее всего так и реализую.
Но хотелось бы услышать мнение других, какую-нибудь другую реализацию или готовые решения для запуска долгоиграющих заданий?

Спасибо :-)

PS: JMS для этих нужд не хочу использовать, не хочу сильно перегружать логику.
...
Рейтинг: 0 / 0
Механизм выполнения длительных заданий
    #37715880
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, всё верно. Единственные две проблемы, которые нужно решить, это как управлять потоками на сервере (JMS, Spring, ExecutorService, Work Manager) и как информировать юзера - COMET, AJAX+Timer
...
Рейтинг: 0 / 0
Механизм выполнения длительных заданий
    #37715914
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rabiter,
если глянуть вокруг, то есть решение попроще - без клиенской части.
Это очёты из веб-телеф.провайдера MTS.
ВИ
- сформировал параметры отчёта и _заказал его_
- получил информацию где его искать "по готовности" и примерное время.
- сам заходишь, хоть с сотового и берём свой отчёт
...
Рейтинг: 0 / 0
Механизм выполнения длительных заданий
    #37715918
Michael Ponomarev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rabiter,

Сделали на ExecutorService, потом узнали о SpringBatch, но было поздно

Ради интереса ковыряли потом чуть SpringBatch показалось весьма удобно, жаль что не прикрутишь теперь :(
Советую посмотреть
...
Рейтинг: 0 / 0
Механизм выполнения длительных заданий
    #37716013
Kachalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rabiterНо хотелось бы услышать мнение других, какую-нибудь другую реализацию или готовые решения для запуска долгоиграющих заданий?
...
PS: JMS для этих нужд не хочу использовать, не хочу сильно перегружать логику.

- если используется EJB, то Using Asynchronous Method Invocation in Session Beans
...
Рейтинг: 0 / 0
Механизм выполнения длительных заданий
    #37716315
Йуный джавистЪ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DBMS_JOBS
...
Рейтинг: 0 / 0
Механизм выполнения длительных заданий
    #37717845
rabiter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczНу, всё верно. Единственные две проблемы, которые нужно решить, это как управлять потоками на сервере (JMS, Spring, ExecutorService, Work Manager) и как информировать юзера - COMET, AJAX+Timer

Спасибо за ответ. По поводу юзера - нам "повезло" мы работаем с JSF (ICEFaces). У них есть build-in механизм Ajax push.
...
Рейтинг: 0 / 0
Механизм выполнения длительных заданий
    #37717852
rabiter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KachalovrabiterНо хотелось бы услышать мнение других, какую-нибудь другую реализацию или готовые решения для запуска долгоиграющих заданий?
...
PS: JMS для этих нужд не хочу использовать, не хочу сильно перегружать логику.

- если используется EJB, то Using Asynchronous Method Invocation in Session Beans

Да, конечно. Как раз работаем с EJB (+CDI). @Asynchronous для запуска методов в новых потоках. И не надо никаких executor-ов и пулов потоков выдумывать. Все уже реализовано.
...
Рейтинг: 0 / 0
Механизм выполнения длительных заданий
    #37717853
rabiter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Michael Ponomarevrabiter,

Сделали на ExecutorService, потом узнали о SpringBatch, но было поздно

Ради интереса ковыряли потом чуть SpringBatch показалось весьма удобно, жаль что не прикрутишь теперь :(
Советую посмотреть

Спасибо за наводку :-)
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Механизм выполнения длительных заданий
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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