![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
BuShaRt |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1391 Регистрация: 29.6.2006 Репутация: нет Всего: 6 |
Я новичок в Java и вообще в компилируемых языках, поддерживающих потоки (Вообще я программирую на PHP). Поэтому я могу ошибаться в принятой терминологии. Поправляйте меня пожалуйста.
У меня есть программа, которая может 1 Получить задание на выполнение процесса (процесс может длиться днями) 2 Получить задание на остановку выполнения процесса. 3 Получить задание сформировать отчет о процессе выполнения процесса. Программа может получать задачи, на пример через интерфейс, запускаемый по требованию. Т.е. это не будет демон, который всегда ждет команд. Скорей это будет приложение командой строки, которое запустилось, выполнило команду, отчиталось и завершило работу. С пунктами 2-ым и 3-им проблем особы не возникает. А вот как асинхронно запустить выполнение процесса мне не совсем ясно. Ведь интерфейс должен запустить процесс и сам отключиться, оставив процесс крутиться "на своей волне" и отчитываться только требованию (запуску команды №3). Я уже познакомился с потоками в java и даже начал их использовать в другой задаче, но я не уверен, что в данном случае их целесообразно использовать. Возможно есть смысл порождать целый отдельный процесс? Т.е. запускать отдельную программу? Вопрос. Как вообще эту задачу правильно реализовать в JAVA? Это сообщение отредактировал(а) BuShaRt - 8.7.2014, 16:02 |
|||
|
||||
CompWorm |
|
|||
![]() Допеределыватель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1689 Регистрация: 6.12.2004 Где: / Репутация: нет Всего: 31 |
раз у тебя основной процесс будет крутиться днями, то надо делать не стендэлон приложение, а интерпрайз. с jboss например можно запустить основной сервис в форме MDB (Message Driven Bean) и некую "морду", оба как отдельные jar файлы. они будут работать параллельно благодаря... магии. MDB сервис будет слушать мессажы от морды, а жить они будут независимо друг от друга... морду можно запускать, когда надо о чем-то уведомить сервис.
Этот ответ добавлен с нового Винграда - http://vingrad.com |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |