
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
25.07.2012, 12:27:03
|
|||
|---|---|---|---|
|
|||
plain java классы рядом с EJB |
|||
|
#18+
Коллеги, простите, если вопрос наивный - я не так давно с J2EE работаю. Ситуация такая: предположим, сервлет (или внешний клиент - неважно) хочет выполнить на каком-то EJB метод типа Код: java 1. где Data - простой java класс, не EJB. Вопрос в следующем: как правильно обеспечивается видимость этого класса и на стороне клиента, и на сервере? То есть, чтобы клиент передал данные, клиент должен иметь его в своем пространстве, а EJB должен этот же класс обработать, то есть, в свою очередь должен иметь его где-то рядом с собой. Можно создать две копии класса, одну класть рядом с самими EJB, а другую хранить рядом с EJB интерфейсами. Это работает, но вряд-ли может быть признано архитектурно правильным. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.07.2012, 12:33:26
|
|||
|---|---|---|---|
|
|||
plain java классы рядом с EJB |
|||
|
#18+
существует удаленный клиент, а существует локальный (в той же JVM) В случае удаленного клиента, у каждой стороны должна быть своя копия класса. В случае локального клиента, это уже не сработает. Общие классы должны быть вынесены в общие библиотеки (например ear или специальная дериктория на уровне сервера) Если два локальных приложения (war и ejb-jar) имеют по своей копии класса и не упакованы в единый ear, то копии класса будут загружены разными ClassLoader-ами. Поэтому с точки зрения JVM они будут являтся разными классами. Результат - ClassCastException с некоторыми вариациями. Можно, конечно, и локально разрулить две копии через Remote интерфейс. Но это будет излишней нагрузкой на сервер из-за того что параметры будут сериализоваться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=59&mobile=1&tid=2131284]: |
0ms |
get settings: |
17ms |
get forum list: |
40ms |
check forum access: |
7ms |
check topic access: |
7ms |
track hit: |
59ms |
get topic data: |
20ms |
get forum data: |
5ms |
get page messages: |
78ms |
get tp. blocked users: |
3ms |
| others: | 351ms |
| total: | 587ms |

| 0 / 0 |
