RMI has been enhanced in the following areas:
Dynamic Generation of Stub Classes - This release adds support for the dynamic generation of stub classes at runtime, obviating the need to use the Java Remote Method Invocation (Java RMI) stub compiler, rmic, to pregenerate stub classes for remote objects. Note that rmic must still be used to pregenerate stub classes for remote objects that need to support clients running on earlier versions.
Standard SSL/TLS Socket Factory Classes - This release adds standard Java RMI socket factory classes, javax.rmi.ssl.SslRMIClientSocketFactory and javax.rmi.ssl.SslRMIServer SocketFactory, which communicate over the Secure Sockets Layer (SSL) or Transport Layer Security (TLS) protocols using the Java Secure Socket Extension (JSSE).
Launching rmid or a Java RMI Server from inetd/xinetd - A new feature, provided by the System.inheritedChannel method, allows an application to obtain a channel (java.nio.channels.SocketChannel or java.nio.channels.ServerSocketChannel, for example) inherited from the process that launched the virtual machine (VM). Such an inherited channel can be used to either service a single incoming connection (as with SocketChannel) or accept multiple incoming connections (as with ServerSocketChannel). Therefore, Java networking applications launched by inetd (Solaris(tm) Operating System) or xinetd (Linux) can now obtain the SocketChannel or ServerSocketChannel inherited from inetd/xinetd.
Refer to the documentation at http://java.sun.com/j2se/1.5.0/docs/guide/rmi/index.html.
RowSet interface, part of the javax.sql package, introduced in J2SE version 1.4, provides a lightweight means of passing data between components.
At this release, as an aid to developers, the RowSet interface has been implemented (as JSR 114) in five of the more common ways a RowSet object can be used. These implementations provide a standard that developers are free to use as is or to extend. Following are the five standard implementations:
JdbcRowSet - used to encapsulate a result set or a driver that is implemented to use JDBC technology
CachedRowSet - disconnects from its data source and operates independently except when it is getting data from the data source or writing modified data back to the data source. This makes it a lightweight container for as much data as it can store in memory.
FilteredRowSet - extends CachedRowSet and is used to get a subset of data
JoinRowSet - extends CachedRowSet and is used to get an SQL JOIN of data from multiple RowSet objects
WebRowSet - extends CachedRowSet and is used for XML data. It describes tabular components in XML using a standardized XML schema.
Refer to the documentation at http://java.sun.com/j2se/1.5.0/docs/guide/jdbc/index.html.
Enhancements to CORBA, Java IDL, and Java RMI-IIOP are discussed in Changes in CORBA Features Between J2SE 1.4.x and 1.5.0. Refer to the Java IDL documentation at http://java.sun.com/j2se/1.5.0/docs/guide/idl/index.html and to the Java RMI-IIOP documentation at http://java.sun.com/j2se/1.5.0/docs/guide/rmi-iiop/index.html.
JNDI provides the following new features.
Enhancements to javax.naming.NameClassPair to access the fullname from the directory/naming service
Support for standard LDAP controls: Manage Referral Control, Paged Results Control and Sort Control
Support for manipulation of LDAP names.
Refer to the documentation at http://java.sun.com/j2se/1.5.0/docs/guide/jndi/index.html.