【发布时间】:2014-02-28 13:51:43
【问题描述】:
我希望在一个 TomEE 服务器实例中拥有 JSF 2.0 页面,该实例调用在不同的 TomEE 服务器下运行的远程 EJB(显然两者都运行在不同的端口上)。
这就是我在eclipse中所做的...
AppEJB - 是一个包含所有 ejb 代码的 EJB 项目。
AppEJBInterfaces - 这个项目包含所有远程接口,想法是这个 jar 将被添加到包含 JSF 前端的 Web 应用程序项目的类路径中。
AppWeb - 是包含 JSF 前端的动态 Web 应用程序项目。
AppEAR - 这包含 AppEJB。
以下是AppEJB中的ejb
@Stateless(name="UserManager")
@LocalBean
public class UserManagerImpl implements UserManager {
public void createUser(User user) {
}
}
以下是AppEJBInterfaces中的远程接口
@Remote
public interface UserManager {
public void createUser(User user);
}
这就是我在 JSF 托管 bean 中所做的事情
@ManagedBean
@SessionScoped
public class UserLoginManager implements Serializable{
@EJB(mappedName="UserManager")
UserManager userManager;
}
我在 Eclipse 中创建了一个服务器并将其指向 TomEE 1.6 plus 安装。我已将 WebApp 添加到服务器。当我右键单击服务器时,我没有看到添加 AppEAR 项目的选项,所以我的问题是
如何将 EJB 项目或 AppEAR 添加/部署到服务器(Eclipse 中的 TomEE)? 如何让 JSF 托管 bean 查找远程 EJB? 如果我们假设我将 ejb 转换为本地 bean 如何指定 jndi 名称/配置?
【问题讨论】:
标签: jsf-2 ejb jndi cdi apache-tomee