Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Техника программирования / 25 сообщений из 46, страница 1 из 2
18.07.2005, 12:32
    #33171040
Plut
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Техника программирования
Задача такая:
На сервере висит 1 процесс и раз в n сек. смотрит базу данных и прверяет ее
на наличие новых данных на придмет обработки.

Сделала так:
Создал класс одиночку(Singleton) который и проверяет состояние базы данных.
Создаю его экземпляр в сервлете, сервлет отрабатывает и процесс висит на сервере.
Вроде все работает.

А вообще правельный ли подход?
...
Рейтинг: 0 / 0
18.07.2005, 12:36
    #33171056
stdio
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Техника программирования
А я бы через очереди и Message Driven Bean бы извратился ;-)
...
Рейтинг: 0 / 0
18.07.2005, 12:47
    #33171099
Техника программирования
По моему мнению, если OC Windows, то имеет смысл создать службу, под UNIX - демона. В вашем случае не очень понятно, кто будет запускать процесс в случае рестарта сервера. Ну и предложение stdio так же мне нравится.
...
Рейтинг: 0 / 0
18.07.2005, 12:51
    #33171114
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Техника программирования
PlutЗадача такая:
На сервере висит 1 процесс и раз в n сек. смотрит базу данных и прверяет ее
на наличие новых данных на придмет обработки.


Существует-ли возможность обработки факта получения новых
данных вне-базы?
...
Рейтинг: 0 / 0
18.07.2005, 12:55
    #33171126
А.Грасоff™
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Техника программирования
Музыка Александрне очень понятно, кто будет запускать процесс в случае рестарта сервераTomcat
...
Рейтинг: 0 / 0
18.07.2005, 12:57
    #33171135
Plut
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Техника программирования
stdioА я бы через очереди и Message Driven Bean бы извратился ;-)
Дело в том что я мало имел дело с бинами :)
Был некий опыт с Entity и Session Bean
Но с другой стороны это как раз тот случай когда можно
получить новые знания :)
Как это реализовать в общих чертах?
...
Рейтинг: 0 / 0
18.07.2005, 13:00
    #33171147
Plut
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Техника программирования
mayton PlutЗадача такая:
На сервере висит 1 процесс и раз в n сек. смотрит базу данных и прверяет ее
на наличие новых данных на придмет обработки.


Существует-ли возможность обработки факта получения новых
данных вне-базы?

Нет, то что поступили новые данные можно узнать только просмотрев базу данных
...
Рейтинг: 0 / 0
18.07.2005, 13:03
    #33171163
Plut
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Техника программирования
А.Грасоff™ Музыка Александрне очень понятно, кто будет запускать процесс в случае рестарта сервераTomcat

На самом деле так и надо бы сделать, только я еще не знаю как это организовать :)
Не в настройках ли сервера это нужно прописывать?
...
Рейтинг: 0 / 0
18.07.2005, 13:04
    #33171166
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Техника программирования
Plut
Нет, то что поступили новые данные можно узнать только просмотрев базу данных

Тогда - присоединяюсь к мнению stdio
...
Рейтинг: 0 / 0
18.07.2005, 13:04
    #33171167
Техника программирования
А.Грасоff™ Музыка Александрне очень понятно, кто будет запускать процесс в случае рестарта сервераTomcat
Да, про load-on-startup = "true" я упустил...
...
Рейтинг: 0 / 0
18.07.2005, 13:11
    #33171190
коты
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Техника программирования
мне такая архитектура кажется немного стремной

было бы проще организоваться промежуточное звено (ejb, corba), через которое работали бы все пользователи базы, и в нем складывать информацию об обновлениях куда-нибудь, предоставляя их той программе, которая занимается обновлениями

не совсем понятно, как ты поднимаешь процесс - создаешь новую jvm? или обработчик запроса сервлета находится в бесконечном цикле?

полюбому было бы удобнее воспользоваться javax.ejb.Timer (EJB 2.1)
...
Рейтинг: 0 / 0
18.07.2005, 13:24
    #33171236
stdio
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Техника программирования
Plut stdioА я бы через очереди и Message Driven Bean бы извратился ;-)
Дело в том что я мало имел дело с бинами :)
Был некий опыт с Entity и Session Bean
Но с другой стороны это как раз тот случай когда можно
получить новые знания :)
Как это реализовать в общих чертах?Создаём очередь ( если база Oracle, то очередь создаётся в ней). Все данные которые нужно обработать, посылаем в виде сообщений в очередь. Создаём MDB, настраиваем на очередь.
И всё. Это вкратце.
...
Рейтинг: 0 / 0
18.07.2005, 13:34
    #33171271
Plut
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Техника программирования
котымне такая архитектура кажется немного стремной

Да мне тоже это не очень нравиться...

котыне совсем понятно, как ты поднимаешь процесс - создаешь новую jvm? или обработчик запроса сервлета находится в бесконечном цикле?

Точно - цикл.
...
Рейтинг: 0 / 0
18.07.2005, 13:40
    #33171293
коты
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Техника программирования
повторюсь, ejb timer вам поможет. с удаленной инициацией цикла обработки тоже никаких проблем не будет - спокойно запустите в сервлете и все.
...
Рейтинг: 0 / 0
18.07.2005, 13:41
    #33171306
А.Грасоff™
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Техника программирования
котыповторюсь, ejb timer вам поможет. с удаленной инициацией цикла обработки тоже никаких проблем не будет - спокойно запустите в сервлете и все.а просто Timer?
...
Рейтинг: 0 / 0
18.07.2005, 13:46
    #33171315
коты
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Техника программирования
А.Грасоff™ котыповторюсь, ejb timer вам поможет. с удаленной инициацией цикла обработки тоже никаких проблем не будет - спокойно запустите в сервлете и все.а просто Timer?

в смысле "а просто"? бесконечный цикл в сервлете у человека уже есть
...
Рейтинг: 0 / 0
18.07.2005, 13:54
    #33171340
А.Грасоff™
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Техника программирования
коты А.Грасоff™ котыповторюсь, ejb timer вам поможет. с удаленной инициацией цикла обработки тоже никаких проблем не будет - спокойно запустите в сервлете и все.а просто Timer?

в смысле "а просто"? бесконечный цикл в сервлете у человека уже есть
смысл в ejb?
...
Рейтинг: 0 / 0
18.07.2005, 14:09
    #33171385
коты
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Техника программирования
А.Грасоff™ коты А.Грасоff™ котыповторюсь, ejb timer вам поможет. с удаленной инициацией цикла обработки тоже никаких проблем не будет - спокойно запустите в сервлете и все.а просто Timer?

в смысле "а просто"? бесконечный цикл в сервлете у человека уже есть
смысл в ejb?

изначально вопрос был о правильности подхода

использовать висящий сервлет - неправильно
инициировать процесс обновления через http - неправильно

использовать ejb - правильно
инициировать процесс обновления удаленным или местным вызовом - правильно

хотите поспорить? =)
...
Рейтинг: 0 / 0
18.07.2005, 14:14
    #33171403
А.Грасоff™
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Техника программирования
котыхотите поспорить? =)
а ты не думал о том, что у человека вообще может не быть j2ee-сервера?
...
Рейтинг: 0 / 0
18.07.2005, 14:16
    #33171412
коты
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Техника программирования
А.Грасоff™ котыхотите поспорить? =)
а ты не думал о том, что у человека вообще может не быть j2ee-сервера?


такие ограничения не были наложены в исходном посте

однако если чел себе может позволить висящий сервлет, то поставить вместо tomcat - jboss не составит труда. =)
...
Рейтинг: 0 / 0
18.07.2005, 14:19
    #33171424
А.Грасоff™
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Техника программирования
котыоднако если чел себе может позволить висящий сервлет
что такое - висящий сервлет? и чем это плохо?
...
Рейтинг: 0 / 0
18.07.2005, 15:09
    #33171584
коты
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Техника программирования
А.Грасоff™ котыоднако если чел себе может позволить висящий сервлет
что такое - висящий сервлет? и чем это плохо?

Plut
котыне совсем понятно, как ты поднимаешь процесс - создаешь новую jvm? или обработчик запроса сервлета находится в бесконечном цикле?

Точно - цикл.
...
Рейтинг: 0 / 0
18.07.2005, 15:10
    #33171591
А.Грасоff™
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Техника программирования
котычто такое - висячий сервлет, и чем это плохо?
...
Рейтинг: 0 / 0
18.07.2005, 15:19
    #33171615
коты
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Техника программирования
А.Грасоff™ котычто такое - висячий сервлет, и чем это плохо?

тебе нравится задавать однообразные тупые вопросы?

>> что такое - висячий сервлет
см. цитату выше

>> и чем это плохо?
вопрос был по архитектуре приложения
ты себе представляешь, чё такое сервлет-контейнер?
по-твоему, для обработчика http-запроса нормально застревать в бесконечном цикле?

с другой стороны, мне совсем не интересно, что ты думаешь, так что можешь просто не отвечать :)
...
Рейтинг: 0 / 0
18.07.2005, 15:23
    #33171628
А.Грасоff™
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Техника программирования
коты А.Грасоff™ котычто такое - висячий сервлет, и чем это плохо?

тебе нравится задавать однообразные тупые вопросы?

>> что такое - висячий сервлет
см. цитату выше

>> и чем это плохо?
вопрос был по архитектуре приложения
ты себе представляешь, чё такое сервлет-контейнер?
по-твоему, для обработчика http-запроса нормально застревать в бесконечном цикле?

с другой стороны, мне совсем не интересно, что ты думаешь, так что можешь просто не отвечать :)
ну на вопрос ты так и не ответил, что такое висячий сервлет.
знаешь, чем сервлеты отличаются от cgi-скриптов? тем, что сервлет,
однократно создавшись, "висит" в памяти и вызывается по мере надобности.
это упрощенное толкование. и все сервлеты можно смело называть висячими.
эту висячесть обеспечивает контейнер сервлетов, кстати.

в бесконечном цикле "застревает" не обработчик http-запроса, а
экземпляр singleton'a.

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


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