【发布时间】:2016-01-01 12:34:38
【问题描述】:
我尝试使用 jndi 查找本地 EJB,但失败了
EssaiImpl EJB 的 save 方法由请求范围的托管 bean 调用。
本地界面为:
@Local
public interface Essai {
public void save();
}
实现如下:
@Stateless
public class EssaiImpl implements Essai {
/**
* Tag des logs
*/
static private Class<EssaiImpl> logTag = EssaiImpl.class;
public EssaiImpl() {}
public void save() {
try {
InitialContext context = new InitialContext();
Essai business = (Essai) context.lookup("java:module/EssaiImpl");
} catch (Exception ex) {
Logger.erreur(logTag, "Exception :" + ex.getMessage());
}
}
}
(Logger只是一个简单的日志封装)
我总是有例外:
[#|2016-01-01T13:16:00.628+0100|INFO|glassfish 4.1||_ThreadID=26;_ThreadName=Thread-8;_TimeMillis=1451650560628;_LevelValue=800;|
Caller+1 at com.test.EssaiImpl.save(EssaiImpl.java:33)
- Exception :com.sun.proxy.$Proxy220 cannot be cast to com.test.EssaiImpl|#]
任何帮助都会有所帮助,
【问题讨论】:
-
我对stackoverflow流程没把握,但是好像我的问题被机器人拒绝了,是这样吗?
-
一个消息收件箱提示该问题已被拒绝,但如果不是这样:没问题。
-
我真的需要答案,我不明白为什么代码无法运行,我尝试使用 jboss 看看这是否是 Glassfish 的问题。
-
我不确定你的建议是什么,使用 Glassfish 4.0 或 3.X 会更安全吗?
-
我刚刚尝试了wildfy 9.0.2,它运行没有问题......
标签: jakarta-ee glassfish ejb jndi