The java.rmi Package
The java.rmi
package contains the classes that are
seen by clients (objects that invoke remote methods). Both clients
and servers should import java.rmi. While servers
need a lot more infrastructure than what’s present in this
package, java.rmi is all that’s needed by
clients. This package contains one interface, three classes, and a
handful of exceptions.
The Remote Interface
The Remote
interface tags objects as being
remote objects. It doesn’t declare any methods; remote objects
usually implement a subclass of Remote that does
declare some methods. The methods that are declared in the interface
are the methods that can be invoked remotely.
Example 18.9 is a database interface that declares a
single method, SQLQuery( )
, which accepts a
String and returns a String
array. A class that implements this interface would include the code
to send an SQL query to a database and return the result as a
String array.
Example 18-9. A Database Interface
import java.rmi.*;
public interface SQL extends Remote {
public String[] SQLQuery(String query) throws RemoteException;
}An SQLImpl class that implemented the
SQL interface would probably have more methods,
some of which might be public. However, only the SQLQuery( ) method can be invoked by a client. Because the
Remote interface is not a class, a single object
can implement multiple Remote subinterfaces. In
this case, any method declared in any Remote
interface can be invoked by a client.
The Naming Class
The java.rmi.Naming ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access