我的企业应用程序(E-APP)具有一个额外的类库项目(CLP),它充当我的E-APP和我的独立Java SE胖客户端之间的接口库(E-APP引用了CLP构建的jar文件)。现在我需要在驻留在我的 E-APP 中的会话 bean 上调用方法,但由于只有 E-APP 引用 CLP,所以我无法访问这些 Bean 类。我将如何解决这个问题?执行 JNDI 远程调用时,CLP 类是否作为 jar 文件驻留在应用程序服务器上?或者在这种情况下有没有办法使用依赖注入?
对远程客户端使用依赖项注入。使用 JNDI 查找对 Bean 的引用解决了这个问题。下面是一个示例:
PersonFacadeRemote personFacade = (PersonFacadeRemote)ctx.lookup("java:global/SuiteEE/SuiteEE-ejb/PersonFacade!ch.suite.control.PersonFacadeRemote");
其中 PersonFacadeRemote 是项目中一个@Remote注释接口,由服务器和客户端组件引用。PersonFacade 位于服务器上。