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

start [/forum/topic.php?fid=59&msg=37891931&tid=2131284]: |
0ms |
get settings: |
12ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
42ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
65ms |
get tp. blocked users: |
2ms |
| others: | 275ms |
| total: | 430ms |

| 0 / 0 |
