У меня есть работающий 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< /em> класс не может быть найден:
"IOP00810257: (MARSHAL) Could not load class com.zzz.MyObjectImpl"
Размещение MyObjectImpl в app2.ear решает проблему, но я не хочу раскрывать реализацию JPA другим приложениям уха. Я что-то упустил или мой подход неверен? Посоветуйте что делать или куда копать. Спасибо заранее!
PS: Server GF 3.0.1, нет специфичных для GF дескрипторов развертывания, оба уха работают на одной и той же JVM.