import java.io.BufferedReader; import java.io.IOException; import java.io.Reader; import java.io.StringReader; import javax.xml.transform.Source; import javax.xml.transform.sax.SAXSource; import org.xml.sax.InputSource; public class DataSourceTest { public static void main(String[] args) throws IOException { // created Source InputSource inputSource = new InputSource(new StringReader( " \n \n \n ")); Source source = new SAXSource(inputSource); // read Source SAXSource saxSource = (SAXSource) source; InputSource inputSourceReader = saxSource.getInputSource(); Reader reader = inputSourceReader.getCharacterStream(); BufferedReader buffereRreader = new BufferedReader(reader); String read = null; while ((read = buffereRreader.readLine()) != null) { System.out.println(read); } } }
1. Interface interface extends Remote class every method throws RemoteException package com.rmi; import java.rmi.Remote; import java.rmi.RemoteException; import java.util.Date; public interface RmiInterface extends Remote { Date getDate() throws RemoteException; } 2. RMI server implementation class extends UnicastRemoteObject class implements custom RmiInterface class creates RMI registry and binds it to localhost and specified port package com.rmi.server; import java.net.InetAddress; import java.net.UnknownHostException; import java.rmi.AlreadyBoundException; import java.rmi.RemoteException; import java.rmi.registry.LocateRegistry; import java.rmi.registry.Registry; import java.rmi.server.UnicastRemoteObject; import java.util.Date; import com.rmi.RmiInterface; public class RMIServer extends UnicastRemoteObject implements RmiInterface { protected RMIServer() throws RemoteException, AlreadyBoundException, UnknownHostException { String registryHost = InetAdd