powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / JBoss как "правильный" сервер приложений
4 сообщений из 4, страница 1 из 1
JBoss как "правильный" сервер приложений
    #32566786
Alex Marmuzevich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi All.
Мне утверждают, что компоненты, написанные для JBoss существуют (активны) только на время работы с клиентом. После отключения клиента они либо "засыпают" либо удаляются.
То есть, решение типа "стартанул сервер, запустился некий набор объектов, который начал что-то активно считать" без фактического подключения клиента на JBoss не работает. Что-то меня сомнения берут по этому поводу.
Или может кто просветит, как сделать такую фигню сравнительно "штатными" методами, если EJB это не позволяет.
Фигня:
- есть модель, обсчитывающая что-то.
- таких моделей много
- они где-то автоматом запускаются
- есть некие клиенты, которые иногда запускаются, подключаются к серверу (конкретной модели), смотрят состояние вычислений, отключаются.
- при всем этом факт подключения-отключения клиента модели безразличен (разве только если клиент не создает или разрушает выбранную модель спецкомандами)
...
Рейтинг: 0 / 0
JBoss как "правильный" сервер приложений
    #32567015
А чего в нем неправильного?

Alex Marmuzevich
То есть, решение типа "стартанул сервер, запустился некий набор объектов, который начал что-то активно считать" без фактического подключения клиента на JBoss не работает. Что-то меня сомнения берут по этому поводу.
Или может кто просветит, как сделать такую фигню сравнительно "штатными" методами, если EJB это не позволяет.
Фигня:
- есть модель, обсчитывающая что-то.
- таких моделей много
- они где-то автоматом запускаются
- есть некие клиенты, которые иногда запускаются, подключаются к серверу (конкретной модели), смотрят состояние вычислений, отключаются.
- при всем этом факт подключения-отключения клиента модели безразличен (разве только если клиент не создает или разрушает выбранную модель спецкомандами)

Можно попробовать как в http://]http://www.jboss.ru/jboss_ru/servlet/faq?m=SHOW&id=8063.

Если твои модели отображаются в базу данных (entity beans) то по-моему никаких проблем (может я ошибаюсь?). По расписанию обсчитываешь свои модели и обращаешься к ним из клиента. А как там они в контейнере JBoss живут- не имеет значения. Это уже проблемы контейнера, как обеспечить их жизненный цикл. По крайней мере спецификации J2EE JBoss соответствует.
...
Рейтинг: 0 / 0
JBoss как "правильный" сервер приложений
    #32567941
Alex Marmuzevich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тут мне намекнули, что если модель крутится и что-то считает (но не пишет пока в базу), то при подключении нового клиента я не смогу прочитать актыальные данные, так как JBoss круто создаст экземпляр модели для вместо того, чтобы "передать указатель" на существующий объект.
Как мне кажется, такое поведение можно обойти. Или я не прав?
...
Рейтинг: 0 / 0
JBoss как "правильный" сервер приложений
    #32569590
Если я правильно понял. имеем некую таблицу БД, которая содержит экземпляры моделей (в любом случае существует какая-то главная таблица для моделей).

Но если экземпляр модели соответствует записи в этой таблице, то как можно создать в контейнере два экземпляра с одинаковым 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 не соответствует изложенному выше.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / JBoss как "правильный" сервер приложений
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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