我有工作app1.ear,包含:
- JPA 实体MyObjectImpl ,从api.jar实现接口MyObject
- 带有MyObject接口和 EJB Remote 接口的api.jar
- 带有 EJB 的ejb.jar,提供访问和修改 JPA 实体的方法
第二个app2.ear应该只使用api.jar中的接口与app1.ear通信。在耳朵之间传递 Java 基本类型时一切正常。但是当app2.ear尝试从MyObject的app1.ear实例中检索时,会引发 CORBA MARSHAL 异常,说找不到MyObjectImpl类:
"IOP00810257: (MARSHAL) Could not load class com.zzz.MyObjectImpl"
将MyObjectImpl放在app2.ear中解决了这个问题,但我不想将 JPA 实现暴露给其他 ear 应用程序。我错过了什么或者我的方法是错误的?请告知要做什么或在哪里挖掘。提前谢谢了!
PS:服务器 GF 3.0.1,没有特定于 GF 的部署描述符,两个耳朵都运行在同一个 JVM 上