我想学习如何使用 EJB,所以我开始阅读“Enterprise JavaBeans 3.1 第 6 版”。创建第一个示例(FirstEJB 示例章节)后,我遇到了NameNotFoundException
. 据我所知,这意味着 EJB 在容器上不可见/不存在。该项目似乎很简单,但我不知道如何解决问题。有什么帮助吗?可以在这里找到项目https://github.com/pepuch/EJB-ch04-firstejb。这就是我处理这个项目的方式。
- 我已经
ejb
使用命令构建了项目,并使用 glassfish 管理站点gradle clean build
部署到服务器。ejb-1.0.jar
- 我已经开始使用
gradle clean test
. 此测试显示NameNotFoundException
异常。
简而言之,项目包含两个子项目:
- ejb - 项目创建 EJB jar
- 客户端 - 项目仅包含一个尝试创建和使用 EJB 的单元测试
[更新]
我在 jboss 服务器上启动了应用程序,它可以工作。这是 jboss 的代码:
// 使用 EJB 的类
Context context = new InitialContext();
context = new InitialContext();
final String JNDI_NAME_CALC = "SimpleCalculatorBean/remote";
CalculatorCommonBusiness calc = (CalculatorCommonBusiness)context.lookup(JNDI_NAME_CALC);
calc.add(2,3,4,5);
// jndi.properties
java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
java.naming.provider.url=localhost:1099
我仍然无法在 glassfish 服务器上启动应用程序。