IBM User Guide for Java V7 on Windows > Developing Java applications > RMI over IIOP > RMI-IIOP Programmer's Guide > Using RMI-IIOP
The rmic compiler
Reference information about the rmic compiler.
Purpose
The rmic compiler generates IIOP stubs and ties, and emits IDL, in accordance with the Java™ Language to OMG IDL Language Mapping Specification: http://www.omg.org/cgi-bin/doc?formal/01-06-07.
Parameters
- -iiop
Generates stub and tie classes. A stub class is a local proxy for a remote object. Clients use stub classes to send calls to a server. Each remote interface requires a stub class, which implements that remote interface. The remote object reference used by a client is a reference to a stub. Tie classes are used on the server side to process incoming calls, and dispatch the calls to the correct implementation class. Each implementation class requires a tie class.
Stub classes are also generated for abstract interfaces. An abstract interface is an interface that does not extend java.rmi.Remote, but has methods that throw either java.rmi.RemoteException or a superclass of java.rmi.RemoteException. Interfaces that do not extend java.rmi.Remote and have no methods are also abstract interfaces.
- -poa
Changes the inheritance from org.omg.CORBA_2_3.portable.ObjectImpl to org.omg.PortableServer.Servant. This type of mapping is nonstandard and is not specified by the Java Language to OMG IDL Mapping Specification: http://www.omg.org/cgi-bin/doc?formal/01-06-07.
The PortableServer module for the Portable Object Adapter (POA) defines the native Servant type. In the Java programming language, the Servant type is mapped to the Java org.omg.PortableServer.Servant class. The class serves as the base class for all POA servant implementations. It provides a number of methods that can be called by the application programmer, as well as methods that are called by the POA itself and might be overridden by the user to control aspects of servant behavior.
Valid only when the -iiop option is present.
- -idl
Generates OMG IDL for the classes specified and any classes referenced. This option is required only if you have a CORBA client written in another language that needs to talk to a Java RMI-IIOP server.
Tip: After the OMG IDL is generated using rmic -idl, use the generated IDL with an IDL-to-C++ or other language compiler, but not with the IDL-to-Java language compiler. "Round tripping" is not recommended and should not be necessary. The IDL generation facility is intended to be used with other languages. Java clients or servers can use the original RMI-IIOP types.
IDL provides a purely declarative means of specifying the API for an object. IDL is independent of the programming language used. The IDL is used as a specification for methods and data that can be written in and called from any language that provides CORBA bindings. Java and C++ are such languages. For a complete description, see the Java Language to OMG IDL Mapping Specification: http://www.omg.org/cgi-bin/doc?formal/01-06-07.
Restriction: The generated IDL can be compiled using only an IDL compiler that supports the CORBA 2.3 extensions to IDL.
- -always
- Forces regeneration even when existing stubs, ties, or IDL are newer than the input class. Valid only when -iiop or -idl options are present.
- -noValueMethods
Ensures that methods and initializers are not included in valuetypes emitted during IDL Generation. Methods and initializers are optional for valuetypes and are otherwise omitted.
Only valid when used with -idl option.
- -idlModule <fromJavaPackage[.class]> <toIDLModule>
Specifies IDLEntity package mapping. For example:
-idlModule sample.bar my::real::idlmod.
Only valid when used with -idl option.
- -idlFile <fromJavaPackage[.class]> <toIDLModule>
Specifies IDLEntity file mapping. For example:
-idlFile test.pkg.X TEST16.idl.
Only valid when used with -idl option.
More Information
For more detailed information about the rmic compiler, see the RMIC tool page:
- Solaris, Linux, AIX, and z/OS version: http://download.oracle.com/javase/7/docs/technotes/tools/solaris/rmic.html
- Windows version: http://download.oracle.com/javase/7/docs/technotes/tools/windows/rmic.html
Parent: Using RMI-IIOP
Error 404 - Not Found Error 404 - Not Found
The document you are looking for may have been removed or re-named. Please contact the web site owner for further assistance.