私のプロジェクトの構造は次のとおりです
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
liferay プロジェクトである別の戦争 (ControlWeb-portlet.war) があり、 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 にアクセスする際に特に必要なことはありますか?
前もって感謝します
チャーリー