Problemas con RMI en java

Buenas,
mi problema es que yo tengo creada la clase servidor.La compilo y creo el stub y skeleton. Ejecuto el rmiregistry y cuando ejecuto el servidor me da la siguiente excepción:
java.security.AccessControlException: access denied (java.net.SocketPermission nbmaquina resolve).
He desconectado el firewall y lo pruebo con varios ejemplos que van pero siempre da ese fallo.
Me gustaría saber cual es su causa. Saludos

1 respuesta

Respuesta
1
El problema que tienes es de permisos de ejecución de la maquina virtual.
La maquina virtual toma los permisos de un fichero llamado policy. All (por ejemplo, puedes llamarlo como quieras), que es un fichero de texto convencional en el que debes especificar los permisos de ejecución de tu aplicación.
Para ello debes crear con un editor de texto convencional un fichero que se llame policy. All y que debes guardar en el directorio donde esta la clase que vas a ejecutar.
Puedes ponerle como conenido lo siguiente:
grant {
permission java.security.AllPermission "", "";
};
Esto garantiza que tu aplicación tiene permiso para hacer todo lo que le plazca.
Al ejecutar el programa debes indicarle a la maquina virtual que coja el fichero, de la siguiente manera:
java -classpath . -Djava.security.policy=policy.all ....
Con esto no debes tener mayor problema para ejecutar la aplicación.
Te agradecería que finalizaras la pregunta, tengo la sección de pendientes algo saturada.
Muchas gracias por tu respuesta. Me ha sido de mucha ayuda ya que me sonaba lo de las políticas pero no sabia como funcionaba.
Muchas gracias de nuevo.
Saludos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas