来自分离的 Web 项目的 EJB 接口引用
EJB interface references from a separated Web Project
我正在 Eclipse 上做一些 EJB 3.1 实践。
我在 Wildfly 9 上有一个 EJB 项目和一个动态 Web 项目。
我想做的是调用 EJB 方法
(EJB 项目)来自 Servlet(在动态 Web 项目中)
在 Servlet 代码上使用 @EJB 注释:
@EJB
IBeanRemote bean; //realize the bean variable is declared as the remote EJB Interfase.
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.getWriter().println(bean.getMethod());
}
我的 EJB 非常简单:
@Remote
@Stateless
public interfase IBeanRemote {
public String getMethod();
}
...
public BeanRemote extends IBeanRemote
{
@Override
public String getMethod() {
return "How to call this ejb?";
}
}
这两个项目都被打包到一个 EAR 项目中,但我无法
请参阅 Web 项目中的 IBeanRemote 类型引用(因为 IBeanRemote 和 Servlet 位于不同的项目中),因此,行
@EJB
IBeanRemote bean;
无法编译。
一个常见的解决方案是在 Web 项目构建路径中添加 EJB 项目,但如果我使用在非常远程的服务器上运行的 Remote EJB 并且我认为 Web 项目不应该知道,这就没有意义了关于 EJB 实现的任何事情。
如何将 IRemoteBean 引用类型添加到我的 Web 项目中,以便制作我的 Servlet class
在eclipse中编译调用EJB方法?
为什么不将 EJB 项目分成 2 个较小的项目:EJB-API 包含接口,您可以将此项目用于您的客户端,EJB-IMPL 实现接口。您的客户和 EJB-IMPL 都将引用您的 EJB-API 项目。
我正在 Eclipse 上做一些 EJB 3.1 实践。
我在 Wildfly 9 上有一个 EJB 项目和一个动态 Web 项目。
我想做的是调用 EJB 方法 (EJB 项目)来自 Servlet(在动态 Web 项目中) 在 Servlet 代码上使用 @EJB 注释:
@EJB
IBeanRemote bean; //realize the bean variable is declared as the remote EJB Interfase.
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.getWriter().println(bean.getMethod());
}
我的 EJB 非常简单:
@Remote
@Stateless
public interfase IBeanRemote {
public String getMethod();
}
...
public BeanRemote extends IBeanRemote
{
@Override
public String getMethod() {
return "How to call this ejb?";
}
}
这两个项目都被打包到一个 EAR 项目中,但我无法 请参阅 Web 项目中的 IBeanRemote 类型引用(因为 IBeanRemote 和 Servlet 位于不同的项目中),因此,行
@EJB
IBeanRemote bean;
无法编译。
一个常见的解决方案是在 Web 项目构建路径中添加 EJB 项目,但如果我使用在非常远程的服务器上运行的 Remote EJB 并且我认为 Web 项目不应该知道,这就没有意义了关于 EJB 实现的任何事情。
如何将 IRemoteBean 引用类型添加到我的 Web 项目中,以便制作我的 Servlet class 在eclipse中编译调用EJB方法?
为什么不将 EJB 项目分成 2 个较小的项目:EJB-API 包含接口,您可以将此项目用于您的客户端,EJB-IMPL 实现接口。您的客户和 EJB-IMPL 都将引用您的 EJB-API 项目。