Friday, 18 October 2013

RMI(Remote Method Invocation Program) on Visit Count

VisitCountServerInterface.java

import java.rmi.Remote;
import java.rmi.RemoteException;
public interface VisitCountServerInterface extends Remote{
    public Integer visitCount() throws RemoteException;
}

VisitCountServerInterfaceImpl.java

import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;
public class VisitCountServerInterfaceImpl extends UnicastRemoteObject implements VisitCountServerInterface{
    public static int visitCount = 0;
    public VisitCountServerInterfaceImpl() throws RemoteException{
    }
    public Integer visitCount() throws RemoteException{
        visitCount++;
        return(new Integer(visitCount));
    }
}

RegisterWithRMIServer.java

import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
public class RegisterWithRMIServer{
    public static void main(String args[]){
        try{
            VisitCountServerInterface visitCounter = new VisitCountServerInterfaceImpl();
            Registry registry = LocateRegistry.getRegistry();
            registry.rebind("VisitCountServerInterfaceImpl",visitCounter);
            System.out.println("Object "+visitCounter+" registered");
        }catch(Exception ex){
        }
    }
}

VisitCountServerInterfaceClient.java

import javax.swing.JApplet;
import javax.swing.JLabel;
import javax.swing.JFrame;
import java.awt.BorderLayout;
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
public class VisitCountServerInterfaceClient extends JApplet{
    VisitCountServerInterface visitCounter;
    int visitCount;
    public void init(){
        initializeRMI();
        add(new JLabel("The Visit Count is :"+(new Integer(visitCount)).toString()));
    }
    public void initializeRMI(){
        try{
            Registry registry = LocateRegistry.getRegistry("localhost");
            visitCounter = (VisitCountServerInterface)registry.lookup("VisitCountServerInterfaceImpl");
            visitCount = visitCounter.visitCount();
        }catch(Exception ex){
        }
    }
    public static void main(String []args){
        VisitCountServerInterfaceClient applet = new VisitCountServerInterfaceClient();
        JFrame frame = new JFrame("VisitCountServerInterfaceClient");
        frame.add(applet,BorderLayout.CENTER);
        frame.setSize(300,300);
        applet.init();
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);
        frame.setDefaultCloseOperation(3);
    }
}

No comments:

Post a Comment