【发布时间】:2012-02-21 20:43:40
【问题描述】:
我创建了非常基本的 EJB3 有状态 bean,但无法远程访问它。 我得到:
原因:javax.naming.NamingException: ejb ref resolution error for remote business interfacecom.s9120.ejb.Calculator [根异常是 java.lang.ClassNotFoundException: com.s9120.ejb.Calculator]
我有 1 个 bean 和 1 个接口。 看起来接口没有部署(我使用的是 GlassFish): 代码如下:
package com.calc.ejb;
import javax.ejb.Remote;
@Remote
public interface Calculator {
public Double multiply(Double multiplier, Double multiplicand);
public Double divide(Double dividend, Double divisor);
public Double add(Double addend, Double augend);
public Double subtract(Double minuend, Double subtrahend);
public void saveToMemory(Double number);
public Double retrieveFromMemory();
}
豆子:
package com.calc.ejb;
import javax.ejb.Remote;
import javax.ejb.Stateful;
/**
* Session Bean implementation class CalculatorBean
*/
@Stateful
@Remote(Calculator.class)
public class CalculatorBean implements Calculator{
/* Implementation */
}
访问它:
context = new InitialContext();
Calculator calculator = (Calculator) context.lookup("java:global/Zad3_s9120/CalculatorBean");
我是否必须执行一些步骤才能使接口对会话 bean 可用? 我使用“添加和删除”服务器菜单从 Eclipse 添加它。
【问题讨论】: