All pastes #2077266 Raw Edit

Something

public text v1 · immutable
#2077266 ·published 2011-06-09 11:51 UTC
rendered paste body
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package server;


import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;
import java.util.ArrayList;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author Keethanjan
 */
public class AEXPublisher extends UnicastRemoteObject implements RemotePublisher
{

    private ArrayList<RemoteListener> listeners;
    private Object lockListener;
    private static int index;

    public AEXPublisher() throws RemoteException
    {
	this.listeners = new ArrayList<RemoteListener>();
	this.lockListener = new Object();
	this.index = 0;
    }

    public void addListener(RemoteListener listener) throws RemoteException
    {
	synchronized (lockListener)
	{
	    listeners.add(listener);
	    System.out.println("Listener added");
	}
    }

    public void removeListener(RemoteListener listener) throws RemoteException
    {
	synchronized (lockListener)
	{
	    listeners.remove(listener);
	    System.out.println("Listener removed");
	}
    }

    public void publish(ArrayList<IFonds> fonds) throws RemoteException
    {
	synchronized (lockListener)
	{
	    for (RemoteListener listener : listeners)
	    {
		try
		{
		    listener.update(fonds);
		}
		catch (RemoteException ex)
		{
		    Logger.getLogger(AEXPublisher.class.getName()).log(Level.SEVERE, null, ex);
		}
	    }
	}
    }
}