我有一个在 Apache Tomcat 中运行的 Web 应用程序,它是我运行的 RMI 服务器的客户端,它运行良好。
现在我将该 Web 应用程序迁移到 JBoss 5.1,除了与 RMI 服务器的连接外,一切正常,所以我认为问题出在 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:sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:230) 远程端点处的非 JRMP 服务器 sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:184 ) 在 sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source) 在 sun.rmi.server.UnicastRef.newCall(UnicastRef.java:322) 在 java.rmi.Naming.lookup(Naming.java:84) 在控制器。 ControladorUsuarios.addNotificacion(ControladorUsuarios.java:97) 在 dao.TestDAO.main(TestDAO.java:73)
我一直在寻找解决方案,但找不到任何解决问题的方法。可能问题与设置为 1099 的 JNDI 端口有关,我读过 rmiregistry 默认使用 1099。但是我一直在尝试更改它们中的端口并且它不起作用。
谢谢。