到本地主机的JavaRMI连接失败
我从RMI开始 我不想用Java为数据库管理员创建服务器(这是大学的事情),当我运行下面列出的代码时,要启动服务器的接口,我与localhost的连接失败: 顺便说一下,我使用OSX和Eclipse来编写代码到本地主机的JavaRMI连接失败,java,rmi,Java,Rmi,我从RMI开始 我不想用Java为数据库管理员创建服务器(这是大学的事情),当我运行下面列出的代码时,要启动服务器的接口,我与localhost的连接失败: 顺便说一下,我使用OSX和Eclipse来编写代码 /** * */ package es.uned.database; import es.uned.common.IBasededatos; import es.uned.common.Utils; import java.rmi.Naming; import java.rmi.
/**
*
*/
package es.uned.database;
import es.uned.common.IBasededatos;
import es.uned.common.Utils;
import java.rmi.Naming;
import java.rmi.RMISecurityManager;
import java.rmi.RemoteException;
import java.rmi.server.*;
import es.uned.common.IServidor;
/**
*
* @author
*
*/
public class Basededatos extends UnicastRemoteObject implements IBasededatos{
protected Basededatos() throws RemoteException {
super();
// TODO Auto-generated constructor stub
}
public static void main(String[] args) throws Exception {
Utils.setCodeBase(IServidor.class);
if (System.getSecurityManager()==null) {
System.setSecurityManager(new RMISecurityManager());
}
String nombre = "//localhost/Basededatos";
try{
IBasededatos servidorBD = new Basededatos();
Naming.rebind(nombre, servidorBD);
System.out.println("Data base is up an ready");
}catch (Exception e) {
System.err.println("Database exception: " + e.getMessage());
e.printStackTrace();
}
}
}
这是我收到的错误消息
拒绝访问(“java.net.SocketPermission”“127.0.0.1:1099”“连接,解析”)
我尝试过其他代码,但同样成功
/**
*
*/
package es.uned.database;
import es.uned.common.IBasededatos;
import es.uned.common.Utils;
import java.rmi.RMISecurityManager;
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
import java.rmi.server.*;
/**
*
* @author
*
*/
public class Basededatos implements IBasededatos{
public Basededatos() {
super();
// TODO Auto-generated constructor stub
}
public static void main(String[] args) throws Exception {
//Utils.setCodeBase(IServidor.class);
if (System.getSecurityManager()==null) {
System.setSecurityManager(new RMISecurityManager());
}
String nombre = "//localhost/Basededatos";
try{
IBasededatos servidorBD = new Basededatos();
IBasededatos stub = (IBasededatos)UnicastRemoteObject.exportObject(servidorBD, 1099);
Registry registry = LocateRegistry.getRegistry();
registry.rebind(nombre, servidorBD);
System.out.println("Servidor Base de datos arriba");
}catch (Exception e) {
System.err.println("Excepcion base de datos: " + e.getMessage());
e.printStackTrace();
}
}
}
有人能帮我吗?
非常感谢
//localhost/