Pregunta

I tienen dos aplicación que se comunica mediante el uso de objetos RMI. Tengo una interfaz, una clase de implementación y de la clase stub generado.

Me di cuenta, que algunos cambios en la clase impl me llevan a crear una nueva clase trozo.

Mi pregunta es, ¿Qué cambios puedo hacer sin volver a compilar el talón de nuevo?

En cuanto a lo que sé:

  • No puedo cambiar la estructura método (Añadir, eliminar, métodos de cambio)
  • ¿Puedo añadir serialVersionUID a clases la clase impl está utilizando?
  • ¿Puedo cambiar las clases de la clase está impl usando?
  • ¿Puedo documentar la impl y todas las clases utilizadas?

hago esta pregunta, porque hice un cambio a principios de esta semana y ahora, la conexión RMI se ha roto. Pero yo sólo añadir comentarios y actualizado mi Checkstyle. Así que añadir la versión de serie UID y ha cambiado algunas clases a ser definitiva.

¿Fue útil?

Solución

Sólo es necesario volver a ejecutar rmic y generar sus clases de despliegue si cambia cualquier firma del método, incluyendo la adición y eliminación. El código generado simplemente enlaza un objeto de invocación remota a la aplicación real a través de los métodos definidos para la clase.

Esto significa que puede cambiar el código de impl (excepto firmas de método) y el código de cualquier clase utilizada por la clase impl sin problema. Si esas clases utilizadas por la aplicación son también parte de la firma del método, entonces se necesitarán versiones adecuadas en el lado del cliente para que coincida con la aplicación remota, pero esto no es nada RMI específica.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top