JBoss Web应用程序未连接到RMI服务器

时间:2013-09-02 04:14:32

标签: java jboss rmi

我有一个在Apache Tomcat中运行的Web应用程序,它是我运行的RMI服务器的客户端,它工作正常。

现在我将该Web应用程序迁移到JBoss 5.1,除了与RMI Server的连接外,一切正常,所以我认为JBoss的配置会带来问题。

客户的代码如下:

//RMI
System.setProperty("java.security.policy","file:/C:/policy.txt");
//policy.txt: grant { permission java.security.AllPermission; };

System.setSecurityManager(new RMISecurityManager());

ControladorMails c = null;

try {
    c = (ControladorMails) Naming.lookup("rmi://localhost/GestorMails");
} catch (Exception e) {
    e.printStackTrace();
}

我得到的例外:

  

java.rmi.ConnectIOException:远程端点上的非JRMP服务器       at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:230)       at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:184)       at sun.rmi.server.UnicastRef.newCall(UnicastRef.java:322)       at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source)       在java.rmi.Naming.lookup(Naming.java:84)       在controller.ControladorUsuarios.addNotificacion(ControladorUsuarios.java:97)       在dao.TestDAO.main(TestDAO.java:73)

我一直在寻找解决方案,但我找不到解决问题的方法。也许问题与JNDI端口有关,设置为1099,我已经读过rmiregistry默认使用1099。但是我一直试图改变它们中的端口并且它不起作用。

感谢。

1 个答案:

答案 0 :(得分:0)

您遇到的失败根本不在于“RMI服务器”。这是与RMI注册表。您正在使用Naming.lookup(),您应该使用JBoss特定的东西。正如例外所示。