我的项目结构如下
JBoss AS 7.1.3.Final-redhat-4
一个包含 EJB 的战争 VWeb.war ,当部署 VWeb 时,我得到以下信息
java:global/VWeb/QServiceImpl!com.vi.qciapi.QService
java:app/VWeb/QServiceImpl!com.vi.qciapi.QService
java:module/QServiceImpl!com.vi.qciapi.QService
java:global/VWeb/QServiceImpl
java:app/VWeb/QServiceImpl
java:module/QServiceImpl
我有另一场战争(ControlWeb-portlet.war),这是一个 liferay 项目,我正在尝试从 ControlWeb-portlet 的 bean 中访问上述 EJB。bean 是 @ViewScoped 这已基于此处找到的链接完成
我已经尝试了所有这些组合,但似乎没有任何效果
@Inject
QService qService;
@EJB
QService qService;
@EJB(mappedName="java:global/VWeb/QServiceImpl!com.vi.qciapi.QService")
QService qService;
@EJB(beanInterface=QService.class)
QService qService;
@EJB(mappedName="java:global/VWeb/QServiceImpl!com.vi.qciapi.QService")
QService qService;
我在同一个项目 ControlWeb-portlet 中保留了一个 EJB,其部署如下
java:global/ControlWeb-portlet/CdiServiceImpl!com.clink.cdi.CdiServiceImpl
java:app/ControlWeb-portlet/CdiServiceImpl!com.clink.cdi.CdiServiceImpl
java:module/CdiServiceImpl!com.clink.cdi.CdiServiceImpl
java:global/ControlWeb-portlet/CdiServiceImpl
java:app/ControlWeb-portlet/CdiServiceImpl
java:module/CdiServiceImpl
我能够注入EJB
@EJB
CdiServiceImpl cdiServiceImpl;
从不同的 WAR 访问 EJB 时,我有什么需要特别注意的吗?
提前致谢
查理