|
JBoss как "правильный" сервер приложений
|
|||
---|---|---|---|
#18+
Hi All. Мне утверждают, что компоненты, написанные для JBoss существуют (активны) только на время работы с клиентом. После отключения клиента они либо "засыпают" либо удаляются. То есть, решение типа "стартанул сервер, запустился некий набор объектов, который начал что-то активно считать" без фактического подключения клиента на JBoss не работает. Что-то меня сомнения берут по этому поводу. Или может кто просветит, как сделать такую фигню сравнительно "штатными" методами, если EJB это не позволяет. Фигня: - есть модель, обсчитывающая что-то. - таких моделей много - они где-то автоматом запускаются - есть некие клиенты, которые иногда запускаются, подключаются к серверу (конкретной модели), смотрят состояние вычислений, отключаются. - при всем этом факт подключения-отключения клиента модели безразличен (разве только если клиент не создает или разрушает выбранную модель спецкомандами) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2004, 11:33 |
|
JBoss как "правильный" сервер приложений
|
|||
---|---|---|---|
#18+
А чего в нем неправильного? Alex Marmuzevich То есть, решение типа "стартанул сервер, запустился некий набор объектов, который начал что-то активно считать" без фактического подключения клиента на JBoss не работает. Что-то меня сомнения берут по этому поводу. Или может кто просветит, как сделать такую фигню сравнительно "штатными" методами, если EJB это не позволяет. Фигня: - есть модель, обсчитывающая что-то. - таких моделей много - они где-то автоматом запускаются - есть некие клиенты, которые иногда запускаются, подключаются к серверу (конкретной модели), смотрят состояние вычислений, отключаются. - при всем этом факт подключения-отключения клиента модели безразличен (разве только если клиент не создает или разрушает выбранную модель спецкомандами) Можно попробовать как в http://]http://www.jboss.ru/jboss_ru/servlet/faq?m=SHOW&id=8063. Если твои модели отображаются в базу данных (entity beans) то по-моему никаких проблем (может я ошибаюсь?). По расписанию обсчитываешь свои модели и обращаешься к ним из клиента. А как там они в контейнере JBoss живут- не имеет значения. Это уже проблемы контейнера, как обеспечить их жизненный цикл. По крайней мере спецификации J2EE JBoss соответствует. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2004, 12:39 |
|
JBoss как "правильный" сервер приложений
|
|||
---|---|---|---|
#18+
Тут мне намекнули, что если модель крутится и что-то считает (но не пишет пока в базу), то при подключении нового клиента я не смогу прочитать актыальные данные, так как JBoss круто создаст экземпляр модели для вместо того, чтобы "передать указатель" на существующий объект. Как мне кажется, такое поведение можно обойти. Или я не прав? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2004, 17:18 |
|
JBoss как "правильный" сервер приложений
|
|||
---|---|---|---|
#18+
Если я правильно понял. имеем некую таблицу БД, которая содержит экземпляры моделей (в любом случае существует какая-то главная таблица для моделей). Но если экземпляр модели соответствует записи в этой таблице, то как можно создать в контейнере два экземпляра с одинаковым primary key? Если все клиенты работают с моделями через JBoss, то по-моему, доступ к моделям контролируется согласно тому, как определены транзакции для моделей в дескрипторе развертывания. По крайней мере, я попробовал простой пример с двумя клиентами и некой моделью из трех таблиц (родительская + две подчиненные) - работают одни и те же экземпляры EJB. Т.е. запись с id=1 определяется одним и тем же экземляром entity bean в JBoss и т.д. Проверил через вывод сообщения типа System.out.println(this.tiString()) в EntityBean. Если я не ошибаюсь, без переопределения метода toString в java.lang.Object.toString() в jdk 1.4 SUN выдается нечто, связанное с машинным адресом. Может я чего-то неправильно понял? Вот что я нашел: "EJB предупреждает опасности, связанные с параллелизмом в объектных компонентах, реализуя простое решение: по умолчанию EJB запрещает параллельный доступ к экземплярам компонента. Другими словами, с одним компонентным объектом могут быть связаны несколько клиентов, но к экземпляру компонента в одно и то же время может обратиться только один поток клиента. Если, например, один из клиентов вызывает метод компонентого объекта, никакой другой клиент не может обращаться к тому же экземпляру компонента, пока не завершиться вызов метода. Фактически, если метод представляет собой часть большой транзакции, то до ее завершения к экземпляру компонента нельзя будет обратиться вообще, кроме как изнутри этого транзакционного контекста..." Ричард Монсон-Хейфел Entrprise JavaBeans, 3-е издание (стр.96). Я не думаю, что JBoss не соответствует изложенному выше. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.06.2004, 13:35 |
|
|
start [/forum/topic.php?fid=59&msg=32567015&tid=2154019]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
76ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 179ms |
0 / 0 |