| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java EE (J2EE) и Spring > Spring для взаимодействия между web-приложениями |
| Автор: Andrey1 5.10.2010, 12:42 |
| Требуется реализовать фоновое выполнение заданий и веб-приложение (независимо). Поможет ли в этом Spring (для описание и организации взаимодействия)? |
| Автор: Egik2 5.10.2010, 12:55 |
| Посмотри например сюда: http://static.springsource.org/spring/docs/1.2.9/reference/scheduling.html Примеры для настройки заданий в Spring. |
| Автор: Andrey1 5.10.2010, 15:28 | ||||
Spring уже есть
Да, сейчас фоновый процесс через SE приложение и фунциклирует (и обмен данными идет через базу). Но есть стойкое чувство, что это как-то криво и есть более красивое решение. Можно перенести фоновый процесс на томкет (или куда там еще
Если веб-интерфейс перегружается, это не должно влиять на фоновые процессы и наоборот. Нужен либо простой обмен данными или событийная модель (веб-приложение может подписываться на некие события). |
| Автор: Egik2 5.10.2010, 15:31 | ||
что под этим понимается? Перезагрузка полностью приложения например через tomcat manager? |
| Автор: Andrey1 5.10.2010, 21:59 | ||
да |
| Автор: Egik2 5.10.2010, 22:03 |
| Если так, то соответственно реализовывать задания в веб приложении никак не получится, ведь если перегпужаем приложение, то соответственно и задания не работают |
| Автор: Andrey1 5.10.2010, 22:12 | ||
да, поэтому все задания должны обрабатываться в отдельном приложении |
| Автор: Vasay 5.10.2010, 22:18 | ||
Наверно, тут зависит от задачи. Как варианты: Создать web службы на базе Вашего web приложения, которая бы пинговалась SE демоном. Посмотреть в сторону EJB. (т.е. есть создать EJB, которые совместно бы использовались бы из WEB приложения и SE приложения) ИМХО - демон все же должен быть отдельным SE приложением. |
| Автор: Andrey1 6.10.2010, 12:50 |
Почему? Чем отдельное приложение на сервере (аля ejb) отличается от SE приложения? На мой взгляд фоновые задания можно выполнять с тем же успехом на сервере, плюс можно и нужно найти архитектуру как стыковать это приложение с веб-интерфейсом. В моем текущем приложении уже есть фоновые задания, но они занимаются лишь сбором данных из базы (а фоновые процессы, о которых речь должны как раз класть нужные данные в базу). Я смотрю в сторону Quartz http://www.quartz-scheduler.org/overview/features.html , может быть там уже есть нужный функционал и архитектура. Если того, что нужно, там нет (или есть, но это все окажется слишком сложным), тогда таки придется цеплять фоновые процессы к веб-интерфейсу (хочется как лучше, получается, как всегда |
| Автор: Vasay 6.10.2010, 13:02 |
Потому что какие либо касяки с SE приложением не повлияют на доступность вашего сайта/web-сервиса. Потому что за некоторыми серверами прилоржений/сервлет контейнерами замечена особенность - падать при частом редеплое. Потому что на сервере приложений/сервлет контейнере не рекомендуется использовать многопоточность. |
| Автор: Andrey1 6.10.2010, 20:19 | ||||
Для этого процессы можно перенести в отдельное (от веб-интерфейса) приложение. Не обязательно SE.
Без многопоточности тут не обойтись все равно. |