|
|
|
Техника программирования
|
|||
|---|---|---|---|
|
#18+
Задача такая: На сервере висит 1 процесс и раз в n сек. смотрит базу данных и прверяет ее на наличие новых данных на придмет обработки. Сделала так: Создал класс одиночку(Singleton) который и проверяет состояние базы данных. Создаю его экземпляр в сервлете, сервлет отрабатывает и процесс висит на сервере. Вроде все работает. А вообще правельный ли подход? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2005, 12:32 |
|
||
|
Техника программирования
|
|||
|---|---|---|---|
|
#18+
А я бы через очереди и Message Driven Bean бы извратился ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2005, 12:36 |
|
||
|
Техника программирования
|
|||
|---|---|---|---|
|
#18+
По моему мнению, если OC Windows, то имеет смысл создать службу, под UNIX - демона. В вашем случае не очень понятно, кто будет запускать процесс в случае рестарта сервера. Ну и предложение stdio так же мне нравится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2005, 12:47 |
|
||
|
Техника программирования
|
|||
|---|---|---|---|
|
#18+
PlutЗадача такая: На сервере висит 1 процесс и раз в n сек. смотрит базу данных и прверяет ее на наличие новых данных на придмет обработки. Существует-ли возможность обработки факта получения новых данных вне-базы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2005, 12:51 |
|
||
|
Техника программирования
|
|||
|---|---|---|---|
|
#18+
Музыка Александрне очень понятно, кто будет запускать процесс в случае рестарта сервераTomcat ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2005, 12:55 |
|
||
|
Техника программирования
|
|||
|---|---|---|---|
|
#18+
stdioА я бы через очереди и Message Driven Bean бы извратился ;-) Дело в том что я мало имел дело с бинами :) Был некий опыт с Entity и Session Bean Но с другой стороны это как раз тот случай когда можно получить новые знания :) Как это реализовать в общих чертах? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2005, 12:57 |
|
||
|
Техника программирования
|
|||
|---|---|---|---|
|
#18+
mayton PlutЗадача такая: На сервере висит 1 процесс и раз в n сек. смотрит базу данных и прверяет ее на наличие новых данных на придмет обработки. Существует-ли возможность обработки факта получения новых данных вне-базы? Нет, то что поступили новые данные можно узнать только просмотрев базу данных ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2005, 13:00 |
|
||
|
Техника программирования
|
|||
|---|---|---|---|
|
#18+
А.Грасоff™ Музыка Александрне очень понятно, кто будет запускать процесс в случае рестарта сервераTomcat На самом деле так и надо бы сделать, только я еще не знаю как это организовать :) Не в настройках ли сервера это нужно прописывать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2005, 13:03 |
|
||
|
Техника программирования
|
|||
|---|---|---|---|
|
#18+
Plut Нет, то что поступили новые данные можно узнать только просмотрев базу данных Тогда - присоединяюсь к мнению stdio ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2005, 13:04 |
|
||
|
Техника программирования
|
|||
|---|---|---|---|
|
#18+
А.Грасоff™ Музыка Александрне очень понятно, кто будет запускать процесс в случае рестарта сервераTomcat Да, про load-on-startup = "true" я упустил... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2005, 13:04 |
|
||
|
Техника программирования
|
|||
|---|---|---|---|
|
#18+
мне такая архитектура кажется немного стремной было бы проще организоваться промежуточное звено (ejb, corba), через которое работали бы все пользователи базы, и в нем складывать информацию об обновлениях куда-нибудь, предоставляя их той программе, которая занимается обновлениями не совсем понятно, как ты поднимаешь процесс - создаешь новую jvm? или обработчик запроса сервлета находится в бесконечном цикле? полюбому было бы удобнее воспользоваться javax.ejb.Timer (EJB 2.1) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2005, 13:11 |
|
||
|
Техника программирования
|
|||
|---|---|---|---|
|
#18+
Plut stdioА я бы через очереди и Message Driven Bean бы извратился ;-) Дело в том что я мало имел дело с бинами :) Был некий опыт с Entity и Session Bean Но с другой стороны это как раз тот случай когда можно получить новые знания :) Как это реализовать в общих чертах?Создаём очередь ( если база Oracle, то очередь создаётся в ней). Все данные которые нужно обработать, посылаем в виде сообщений в очередь. Создаём MDB, настраиваем на очередь. И всё. Это вкратце. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2005, 13:24 |
|
||
|
Техника программирования
|
|||
|---|---|---|---|
|
#18+
котымне такая архитектура кажется немного стремной Да мне тоже это не очень нравиться... котыне совсем понятно, как ты поднимаешь процесс - создаешь новую jvm? или обработчик запроса сервлета находится в бесконечном цикле? Точно - цикл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2005, 13:34 |
|
||
|
Техника программирования
|
|||
|---|---|---|---|
|
#18+
повторюсь, ejb timer вам поможет. с удаленной инициацией цикла обработки тоже никаких проблем не будет - спокойно запустите в сервлете и все. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2005, 13:40 |
|
||
|
Техника программирования
|
|||
|---|---|---|---|
|
#18+
котыповторюсь, ejb timer вам поможет. с удаленной инициацией цикла обработки тоже никаких проблем не будет - спокойно запустите в сервлете и все.а просто Timer? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2005, 13:41 |
|
||
|
Техника программирования
|
|||
|---|---|---|---|
|
#18+
А.Грасоff™ котыповторюсь, ejb timer вам поможет. с удаленной инициацией цикла обработки тоже никаких проблем не будет - спокойно запустите в сервлете и все.а просто Timer? в смысле "а просто"? бесконечный цикл в сервлете у человека уже есть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2005, 13:46 |
|
||
|
Техника программирования
|
|||
|---|---|---|---|
|
#18+
коты А.Грасоff™ котыповторюсь, ejb timer вам поможет. с удаленной инициацией цикла обработки тоже никаких проблем не будет - спокойно запустите в сервлете и все.а просто Timer? в смысле "а просто"? бесконечный цикл в сервлете у человека уже есть смысл в ejb? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2005, 13:54 |
|
||
|
Техника программирования
|
|||
|---|---|---|---|
|
#18+
А.Грасоff™ коты А.Грасоff™ котыповторюсь, ejb timer вам поможет. с удаленной инициацией цикла обработки тоже никаких проблем не будет - спокойно запустите в сервлете и все.а просто Timer? в смысле "а просто"? бесконечный цикл в сервлете у человека уже есть смысл в ejb? изначально вопрос был о правильности подхода использовать висящий сервлет - неправильно инициировать процесс обновления через http - неправильно использовать ejb - правильно инициировать процесс обновления удаленным или местным вызовом - правильно хотите поспорить? =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2005, 14:09 |
|
||
|
Техника программирования
|
|||
|---|---|---|---|
|
#18+
А.Грасоff™ котыхотите поспорить? =) а ты не думал о том, что у человека вообще может не быть j2ee-сервера? такие ограничения не были наложены в исходном посте однако если чел себе может позволить висящий сервлет, то поставить вместо tomcat - jboss не составит труда. =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2005, 14:16 |
|
||
|
Техника программирования
|
|||
|---|---|---|---|
|
#18+
котыоднако если чел себе может позволить висящий сервлет что такое - висящий сервлет? и чем это плохо? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2005, 14:19 |
|
||
|
Техника программирования
|
|||
|---|---|---|---|
|
#18+
А.Грасоff™ котыоднако если чел себе может позволить висящий сервлет что такое - висящий сервлет? и чем это плохо? Plut котыне совсем понятно, как ты поднимаешь процесс - создаешь новую jvm? или обработчик запроса сервлета находится в бесконечном цикле? Точно - цикл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2005, 15:09 |
|
||
|
Техника программирования
|
|||
|---|---|---|---|
|
#18+
котычто такое - висячий сервлет, и чем это плохо? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2005, 15:10 |
|
||
|
Техника программирования
|
|||
|---|---|---|---|
|
#18+
А.Грасоff™ котычто такое - висячий сервлет, и чем это плохо? тебе нравится задавать однообразные тупые вопросы? >> что такое - висячий сервлет см. цитату выше >> и чем это плохо? вопрос был по архитектуре приложения ты себе представляешь, чё такое сервлет-контейнер? по-твоему, для обработчика http-запроса нормально застревать в бесконечном цикле? с другой стороны, мне совсем не интересно, что ты думаешь, так что можешь просто не отвечать :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2005, 15:19 |
|
||
|
Техника программирования
|
|||
|---|---|---|---|
|
#18+
коты А.Грасоff™ котычто такое - висячий сервлет, и чем это плохо? тебе нравится задавать однообразные тупые вопросы? >> что такое - висячий сервлет см. цитату выше >> и чем это плохо? вопрос был по архитектуре приложения ты себе представляешь, чё такое сервлет-контейнер? по-твоему, для обработчика http-запроса нормально застревать в бесконечном цикле? с другой стороны, мне совсем не интересно, что ты думаешь, так что можешь просто не отвечать :) ну на вопрос ты так и не ответил, что такое висячий сервлет. знаешь, чем сервлеты отличаются от cgi-скриптов? тем, что сервлет, однократно создавшись, "висит" в памяти и вызывается по мере надобности. это упрощенное толкование. и все сервлеты можно смело называть висячими. эту висячесть обеспечивает контейнер сервлетов, кстати. в бесконечном цикле "застревает" не обработчик http-запроса, а экземпляр singleton'a. //тебе нравится задавать однообразные тупые вопросы? да. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2005, 15:23 |
|
||
|
|

start [/forum/topic.php?fid=59&fpage=793&tid=2151938]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
46ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
74ms |
get tp. blocked users: |
1ms |
| others: | 199ms |
| total: | 363ms |

| 0 / 0 |
