Compiler 'rmic'

Referenzinformationen zum Compiler rmic.

Zweck

Der rmic -Compiler generiert IIOP-Stubs und -Ties und gibt IDL gemäß der Java™ Language to OMG IDL Language Mapping Specification aus: https://www.omg.org/cgi-bin/doc?formal/01-06-07.

Parameter

-iiop

Generiert Stub- und Tie-Klassen. Eine Stub-Klasse ist ein lokaler Proxy für ein fernes Objekt. Clients nutzen Stub-Klassen, um Aufrufe an einen Server zu senden. Jede ferne Schnittstelle erfordert eine Stub-Klasse, die diese ferne Schnittstelle implementiert. Der von einem Client verwendete Verweis auf das ferne Objekt ist ein Verweis auf einen Stub. Tie-Klassen werden serverseitig für die Verarbeitung eingehender Aufrufe und die Zuteilung zur richtigen Implementierungsklasse verwendet. Jede Implementierungsklasse erfordert eine Tie- Klasse.

Stub-Klassen werden auch für abstrakte Schnittstellen generiert. Eine abstrakte Schnittstelle ist eine Schnittstelle, die java.rmi.Remote nicht erweitert, sondern Methoden aufweist, die entweder java.rmi.RemoteException oder eine Superklasse von java.rmi.RemoteException auslösen. Schnittstellen, die java.rmi.Remote nicht erweitern und über keine Methoden verfügen, sind ebenfalls abstrakte Schnittstellen.

-poa

Ändert die Übernahme aus org.omg.CORBA_2_3.portable.ObjectImpl in org.omg.PortableServer.Servant. Dieser Typ von Zuordnung entspricht nicht dem Standard und wird nicht in der Spezifikation der IDL-Zuordnung zwischen Java und OMG angegeben: https://www.omg.org/cgi-bin/doc?formal/01-06-07.

Das Modul PortableServer für den POA (Portable Object Adapter) definiert den nativen Servant-Typ. In der Programmiersprache Java wird der Servant-Typ der Java-Klasse org.omg.PortableServer.Servant zugeordnet. Die Klasse dient als Basisklasse für alle POA-Servant-Implementierungen. Sie bietet eine Reihe von Methoden, die vom Anwendungsprogrammierer aufgerufen werden können, sowie Methoden, die vom POA selbst aufgerufen und möglicherweise vom Benutzer außer Kraft gesetzt werden, damit verschiedene Aspekte des Servant-Verhaltens gesteuert werden können.

Nur gültig in Verbindung mit der Option -iiop.

-idl

Generiert die OMG-IDL für die angegebenen Klassen und alle Klassen, auf die verwiesen wird. Diese Option ist nur erforderlich, wenn ein CORBA-Client in einer anderen Sprache geschrieben ist, die mit einem Java-RMI-IIOP-Server kommunizieren muss.

Tipp: Nachdem die OMG-IDL mit rmic -idlgeneriert wurde, verwenden Sie die generierte IDL mit einem IDL-zu-C++ oder einem anderen Sprachcompiler, aber nicht mit dem IDL-zu-Java-Sprachcompiler. Umlauf wird nicht empfohlen und sollte nicht erforderlich sein. Die IDL-Generierungseinrichtung wurde für die Nutzung in Verbindung mit anderen Sprachen entwickelt. Java-Clients oder -Server können die ursprünglichen RMI-IIOP-Typen verwenden.

IDL bietet rein deklarative Mittel zur Angabe der Anwendungsprogrammierschnittstelle für ein Objekt. Die IDL ist unabhängig von der verwendeten Programmiersprache. Sie wird als Spezifikation für Methoden und Daten verwendet, die in jeder Sprache, die CORBA-Bindungen bereitstellt, geschrieben und über diese aufgerufen werden können. Java und C++ sind solche Sprachen. Eine vollständige Beschreibung finden Sie in der Spezifikation Java Language to OMG IDL Mapping: https://www.omg.org/cgi-bin/doc?formal/01-06-07.

Einschränkung: Die generierte IDL kann nur mit einem IDL-Compiler kompiliert werden, der die CORBA 2.3 -Erweiterungen für IDL unterstützt.
-always
Erzwingt die Neugenerierung selbst dann, wenn vorhandene Stubs, Ties oder die IDL neuer als die eingegebene Klasse sind. Nur gültig in Verbindung mit den Optionen -iiop oder -idl.
-noValueMethods

Stellt sicher, dass in den Werttypen, die während der IDL-Generierung ausgegeben werden, keine Methoden und Initialisierungsfunktionen enthalten sind. Methoden und Initialisierungsfunktionen sind für Werttypen optional und werden andernfalls übergangen.

Nur gültig in Verbindung mit der Option -idl.

-idlModule <fromJavaPackage[.class]> <toIDLModule>

Gibt die IDLEntity-Paketzuordnung an. Beispiel: -idlModule sample.bar my::real::idlmod.

Nur gültig in Verbindung mit der Option -idl.

-idlFile <fromJavaPackage[.class]> <toIDLModule>

Gibt die IDLEntity-Dateizuordnung an. Beispiel: -idlFile test.pkg.X TEST16.idl.

Nur gültig in Verbindung mit der Option -idl.

Weitere Informationen

Auf der Webseite für das RMIC-Tool finden Sie ausführliche Informationen zum rmic-Compiler:
  • Solaris, Linux®, AIX®und z/OS® -Version: rmic
  • Windows-Version: rmic