- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 Weblogic 11g 上运行 Java 6。
我正在开发一个使用 EJB 与数据库通信的 Web 服务项目。目前我正在处理错误,因此我尝试在调用 Web 服务之前取消部署 EJB。我的 EJBClientHelper 类如下所示:
package mypackage.elkom.utils;
import java.io.Serializable;
import java.util.Properties;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import mypackage.elkom.ejb.beans.session.remote.ElkomRemote;
public class EJBClientHelper implements Serializable {
/**
*
*/
private static final long serialVersionUID = 1L;
private ElkomRemote elkomRemote;
private static final String ELKOM_JNDI = "ElkomBean#mypackage.ejb.beans.session.remote.ElkomRemote";
private Context ctx;
private void prepareEjb3Connection() throws PropsFileException, NamingException {
// Here's code for getting the ejbProviderURL from propsfile //
props.put("java.naming.factory.initial", weblogic.jndi.WLInitialContextFactory");
props.put("java.naming.provider.url",ejbProviderURL);
ctx = new InitialContext(props);
}
public void setElkomRemote(ElkomRemote elkomRemote) {
this.elkomRemote = elkomRemote;
}
public ElkomRemote getElkomRemote() throws NamingException, PropsFileException {
prepareEjb3Connection();
if(elkomRemote == null) {
elkomRemote = (ElkomRemote)ctx.lookup(ELKOM_JNDI);
}
return elkomRemote;
}
}
但是,当我使用 getElkomRemote() 时;我收到以下消息,其中包含 NamingException:
SEVERE: The object identified by: '678' could not be found. Either it was has not been exported or it has been collected by the distributed garbage collector.;
nested exception is: java.rmi.NoSuchObjectException: The object identified by: '678' could not be found.
Either it was has not been exported or it has been collected by the distributed garbage collector.
javax.ejb.EJBException: The object identified by: '678' could not be found. Either it was has not been exported or it has been collected by the distributed garbage collector.;
nested exception is: java.rmi.NoSuchObjectException: The object identified by: '678' could not be found.
Either it was has not been exported or it has been collected by the distributed garbage collector.
java.rmi.NoSuchObjectException: The object identified by: '678' could not be found. Either it was has not been exported or it has been collected by the distributed garbage collector.
有人知道为什么我收到此消息而不是 NamingException 吗?也许如何解决它?
最佳答案
共有三种异常类别:
由于代码错误或资源配置错误(例如 JNDI 查找配置错误),可能会发生系统异常。如果企业 Bean 遇到系统错误,它通常会抛出 javax.ejb.EJBException。容器将 EJBException 包装在 RemoteException 中,最后将 RemoteException 传回客户端。这就是您的情况发生的情况,这就是您收到 RemoteException 的原因。
系统异常无法从客户端应用程序处理,应作为未经检查的异常抛出。
有关更详细的信息,您可以参阅以下文章:
希望这对您有帮助。
关于java - 期待 NamingException,得到 NoSuchObjectException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12002108/
当我启动 spark 时,我收到以下警告: Using Scala version 2.10.5 (OpenJDK 64-Bit Server VM, Java 1.8.0_77) Type in e
我尝试设置一个简单的 RMI 实现,但遇到了一些麻烦。 服务器启动正常,但客户端似乎永远找不到远程对象(Naming.lookup 每次都失败)。通过阅读周围的内容,人们提到将远程对象(Bank)存储
我有一个使用 Java RMI 的服务器和客户端。如果我使用一个客户端,下面的代码一切都很好。但是,如果我连接一个客户端,然后连接第二个客户端,它会抛出端口已在使用异常。没关系,所以我断开连接的客户端
我正在使用java RMI实现客户端/服务器应用程序,客户端和服务器位于同一项目中的不同包中(当然它们在同一台机器上运行),并且接口(interface)在“通用”包中定义。当我尝试获取两个远程对象之
已经有几个与此相关的问题,但他们的答案表明导出的对象已在服务器端进行 GC,这解决了问题。然而,这似乎不是这里的问题。 提到的异常仅在单台机器上抛出: PRETTY_NAME="Debian GNU/
我在 Weblogic 11g 上运行 Java 6。 我正在开发一个使用 EJB 与数据库通信的 Web 服务项目。目前我正在处理错误,因此我尝试在调用 Web 服务之前取消部署 EJB。我的 EJ
我正在开发两个通过 RMI 连接的应用程序。通信是双向的,一切正常,直到我在 Windows 上运行。当我将 jar 文件传输到 Debian 时,连接失败并显示 java.rmi.NoSuchObj
我正在编写一个非常简单的 RMI 服务器,我在单元测试中看到间歇性的 java.rmi.NoSuchObjectExceptions。 我在同一个对象上有一串远程方法调用,虽然前几个通过,但后面的有时
我有一个简单的程序,可以使 calcPi() 通过 Java-RMI 可用,当我启动程序时,我收到此异常: java.rmi.NoSuchObjectException: no such object
这是我的应用程序在更改之前的代码: Static Map servStubs = Collections.synchronizedMap(new HashMap); public synchroni
我是一名优秀的程序员,十分优秀!