Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как правильно запустить параллельный процесс? 
:(
    Опции темы
BuShaRt
Дата 8.7.2014, 16:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1391
Регистрация: 29.6.2006

Репутация: нет
Всего: 6



Я новичок в Java и вообще в компилируемых языках, поддерживающих потоки (Вообще я программирую на PHP). Поэтому я могу ошибаться в принятой терминологии. Поправляйте меня пожалуйста.

У меня есть программа, которая может
1 Получить задание на выполнение процесса (процесс может длиться днями)
2 Получить задание на остановку выполнения процесса.
3 Получить задание сформировать отчет о процессе выполнения процесса.

Программа может получать задачи, на пример через интерфейс, запускаемый по требованию. Т.е. это не будет демон, который всегда ждет команд. Скорей это будет приложение командой строки, которое запустилось, выполнило команду, отчиталось и завершило работу.

С пунктами 2-ым и 3-им проблем особы не возникает. А вот как асинхронно запустить выполнение процесса мне не совсем ясно. Ведь интерфейс должен запустить процесс и сам отключиться, оставив процесс крутиться "на своей волне" и отчитываться только требованию (запуску команды №3). 

Я уже познакомился с потоками в java и даже начал их использовать в другой задаче, но я не уверен, что в данном случае их целесообразно использовать. Возможно есть смысл порождать целый отдельный процесс? Т.е. запускать отдельную программу?

Вопрос. Как вообще эту задачу правильно реализовать в JAVA?


Это сообщение отредактировал(а) BuShaRt - 8.7.2014, 16:02
PM MAIL   Вверх
CompWorm
Дата 10.7.2014, 03:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Допеределыватель
***


Профиль
Группа: Участник Клуба
Сообщений: 1689
Регистрация: 6.12.2004
Где: /

Репутация: нет
Всего: 31



раз у тебя основной процесс будет крутиться днями, то надо делать не стендэлон приложение, а интерпрайз. с jboss например можно запустить основной сервис в форме MDB (Message Driven Bean)  и некую "морду", оба как отдельные jar файлы. они будут работать параллельно благодаря... магии. MDB сервис будет слушать мессажы от морды, а жить они будут независимо друг от друга... морду можно запускать, когда надо о чем-то уведомить сервис.

Этот ответ добавлен с нового Винграда - http://vingrad.com
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0557 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.