Leo*_*nti 2 jndi glassfish ejb-3.0
我已经创建了非常基本的EJB3有状态bean但无法远程访问它.我越来越:
引起:javax.naming.NamingException:远程业务接口的ejb ref resolution错误com.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();
}
Run Code Online (Sandbox Code Playgroud)
豆:
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 */
}
Run Code Online (Sandbox Code Playgroud)
访问它:
context = new InitialContext();
Calculator calculator = (Calculator) context.lookup("java:global/Zad3_s9120/CalculatorBean");
Run Code Online (Sandbox Code Playgroud)
我是否必须采取一些步骤使接口可用于会话bean?我正在使用"添加和删除"服务器菜单从Eclipse添加它.
从我所看到的,你有不同的包.
您已将接口定义为:
com.calc.ejb.Calculator
Run Code Online (Sandbox Code Playgroud)
但你的例外告诉你:
com.s9120.ejb.Calculator
Run Code Online (Sandbox Code Playgroud)
也许你的客户项目中没有合适的课程?
顺便说一句:您不需要同时指定@Remote接口和EJB.您只能@Remote(MyClass.class)在EJB或@Remote接口上执行.
| 归档时间: |
|
| 查看次数: |
1758 次 |
| 最近记录: |