|
|
|
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&fpage=277&tid=2131284]: |
0ms |
get settings: |
15ms |
get forum list: |
16ms |
check forum access: |
6ms |
check topic access: |
6ms |
track hit: |
40ms |
get topic data: |
16ms |
get forum data: |
4ms |
get page messages: |
58ms |
get tp. blocked users: |
3ms |
| others: | 291ms |
| total: | 455ms |

| 0 / 0 |
