[Gabel-guys] gabel/src/net/sf/gabel/server AbstractRmiServer.java,NONE,1.1
Status: Alpha
Brought to you by:
alllee
|
From: allen l. <al...@us...> - 2004-05-12 10:09:33
|
Update of /cvsroot/gabel/gabel/src/net/sf/gabel/server In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19608/src/net/sf/gabel/server Added Files: AbstractRmiServer.java Log Message: AbstractRmiServer provides basic functionality for RmiServers. Convenience methods for notifying all subscribed clients, etc., will live here eventually, once remote messaging is all ironed out. --- NEW FILE: AbstractRmiServer.java --- package net.sf.gabel.server; // FIXME: log4j would be better, but this reduces jar dependencies. Maybe // Java's logging will improve. import java.util.logging.Logger; import java.rmi.*; import java.rmi.registry.*; import java.rmi.server.UnicastRemoteObject; /** * $Id: AbstractRmiServer.java,v 1.1 2004/05/12 10:09:23 alllee Exp $ * * Abstract class providing base functionality for binding to a Rmi registry. * Subclasses must implement methods for reporting the port number, the * registry name, and the 'what to do' method. * * @author <a href='mailto:al...@cs...'>Allen Lee</a> * @version $Revision: 1.1 $ */ public abstract class AbstractRmiServer implements RmiServer, Runnable { protected final Logger logger = Logger.getLogger(getClass().getName()); protected abstract int getPort(); protected abstract String getRegistryName(); protected abstract void execute(); public void run() { bind(); execute(); } private void bind() { try { Registry registry = LocateRegistry.createRegistry(getPort()); registry.bind(getRegistryName(), UnicastRemoteObject.exportObject(this, getPort())); } catch (Exception exception) { // FIXME: perhaps some better exception handling is in order? exception.printStackTrace(); logger.severe("Couldn't bind to the registry: " + exception.getMessage()); throw new RuntimeException(exception); } } } /* * $Log: AbstractRmiServer.java,v $ * Revision 1.1 2004/05/12 10:09:23 alllee * AbstractRmiServer provides basic functionality for RmiServers. Convenience * methods for notifying all subscribed clients, etc., will live here eventually, * once remote messaging is all ironed out. * * Revision 1.2 2004/05/04 02:09:08 alllee * new template crap * */ |