El compilador rmic
Información de referencia sobre el compilador rmic.
Finalidad
El compilador rmic genera apéndices y empates IIOP, y emite IDL, de acuerdo con el lenguaje Java™ para la especificación de correlación de lenguaje OMG IDL: https://www.omg.org/cgi-bin/doc?formal/01-06-07.Parámetros
- -iiop
Genera clases de apéndices y vínculos. Una clase de apéndice es un proxy local para un objeto remoto. Los clientes utilizan clases de apéndices para enviar llamadas a un servidor. Cada interfaz remota requiere una clase de apéndice, que implementa esa interfaz remoto. La referencia de objeto remoto utilizada por un cliente es una referencia a un apéndice. Las clases se utilizan en el lado del servidor para procesar llamadas entrantes y asignarlas a la clase de implementación correcta. Cada clase de implementación requiere una clase de vínculo.
Las clases de apéndice también se generan para interfaces abstractas. Una interfaz abstracta es una interfaz que no amplía java.rmi.Remote, pero que contiene métodos que emiten java.rmi.RemoteException o una superclase de java.rmi.RemoteException. Las interfaces que no amplían java.rmi.Remote y no tienen ningún método también son interfaces abstractas.
- -poa
Cambia la herencia de org.omg.CORBA_2_3.portable.ObjectImpl aorg.omg.PortableServer.Servant. Este tipo de correlación no es estándar y no lo especifica el lenguaje Java para la especificación de correlación OMG IDL: https://www.omg.org/cgi-bin/doc?formal/01-06-07.
El módulo PortableServer el adaptador de objetos portables (POA) define el tipo Servant nativo. En el lenguaje de programación Java, el tipo de servicio se correlaciona con la clase org.omg.PortableServer.Servant de Java. La clase sirve de clase base para todas las implementaciones de sirviente POA. Ofrece un número de métodos que el programador de aplicaciones o los métodos invocados por el propio POA pueden llamar y el usuario puede sustituir para controlar aspectos del comportamiento sirviente.
Sólo es válido cuando la opción -iiop está presente.
- -idl
Genera OMG IDL para las clases especificadas y cualquier clase referenciada. Esta opción sólo es necesaria si tiene un cliente CORBA escrito en otro lenguaje que necesita hablar con un servidor Java RMI-IIOP.
Sugerencia: Después de que se genere OMG IDL utilizando rmic -idl, utilice el IDL generado con un compilador de lenguaje IDL a C++ u otro compilador de lenguaje, pero no con el compilador de lenguaje IDL a Java. No se recomienda el viaje de ida y vuelta y tampoco es necesario. El recurso de generación de IDL está destinado a utilizarse con otros idiomas. Los clientes o servidores Java pueden utilizar los tipos RMI-IIOP originales.IDL ofrece un medico puramente declarativo de especificar la API de un objeto. IDL es independiente del lenguaje de programación que se ha utilizado. El lenguaje IDL se utiliza como especificación para los métodos y datos que se puedan escribir y llamar desde cualquier lenguaje que ofrezcan enlaces CORBA. Java y C++ son estos lenguajes. Para obtener una descripción completa, consulte la especificación de correlación de Java Language con OMG IDL: https://www.omg.org/cgi-bin/doc?formal/01-06-07.
Restricción: El IDL generado se puede compilar utilizando sólo un compilador IDL que dé soporte a las extensiones 2.3 de CORBA para IDL.- -always
- Fuerza la regeneración aunque los vínculos, apéndices o IDL existentes sean más nuevos que la clase de entrada. Sólo es válido cuando están presentes las opciones -iiop o -idl.
- -noValueMethods
Garantiza que los métodos e inicializadores no estén incluidos en los valuetypes emitidos durante la generación de IDL. Los métodos e inicializadores son opcionales para los valuetypes; de lo contrario, se omiten.
Sólo es válido cuando se utiliza con la opción -idl.
- -idlModule <fromJavaPackage[.class]> <toIDLModule>
Especifica la correlación de paquetes IDLEntity. Por ejemplo: -idlModule sample.bar my::real::idlmod.
Sólo es válido cuando se utiliza con la opción -idl.
- -idlFile <fromJavaPackage[.class]> <toIDLModule>
Especifica la correlación de archivos IDLEntity. Por ejemplo: -idlFile test.pkg.X TEST16.idl.
Sólo es válido cuando se utiliza con la opción -idl.