у меня работает app1.ear , содержащий:
- сущность JPA, MyObjectImpl , реализующий интерфейс MyObject из api.jar
- api.jar с интерфейсом MyObject и интерфейсом EJB Remote
- ejb.jar с EJB-компонентами, предоставляющими методы для доступа и изменения объектов JPA
Второй app2.ear должен связываться с app1.ear , используя ТОЛЬКО интерфейсы в api.jar . Все отлично работает при передаче Java базовых типов между ушами.
Но когда app2.ear пытается извлечь из app1.ear экземпляр MyObject - возникает исключение CORBA MARSHAL, говорящее, что класс MyObjectImpl не может быть найден:
"IOP00810257: (MARSHAL) Could not load class com.zzz.MyObjectImpl"
Размещение MyObjectImpl в app2.ear решает проблему, но я не хочу показывать реализацию JPA другим ушным приложениям.
Я что-то упустил или мой подход не так? Посоветуйте пожалуйста что делать или куда копать.
Большое спасибо заранее!
PS: Сервер GF 3.0.1, нет специфичных для GF дескрипторов развертывания, оба ушка работают на одной и той же JVM