dblevins    2004/12/16 23:55:15

  Modified:    modules/core/src/java/org/openejb/server ServiceDaemon.java
  Log:

  Added an extra constructor and refactored the inner class which was named
  very deceptively like the parent class.
  
  Revision  Changes    Path
  1.12      +20 -17    
openejb/modules/core/src/java/org/openejb/server/ServiceDaemon.java
  
  Index: ServiceDaemon.java
  ===================================================================
  RCS file: 
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/server/ServiceDaemon.java,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- ServiceDaemon.java        30 Oct 2004 05:18:28 -0000      1.11
  +++ ServiceDaemon.java        17 Dec 2004 04:55:15 -0000      1.12
  @@ -59,44 +59,47 @@
       private static final Log log = LogFactory.getLog(ServiceDaemon.class);
   
       private final SocketService socketService;
  -    private final InetAddress inetAddress;
  +    private final InetAddress address;
       private final int port;
   
  -    private SocketDaemon socketDaemon;
  +    private SocketListener socketListener;
   
  -    public ServiceDaemon(SocketService socketService, InetAddress 
inetAddress, int port) {
  +    public ServiceDaemon(SocketService socketService, InetAddress address, 
int port) {
  +        this(null, socketService, address, port);
  +    }
  +    public ServiceDaemon(String name, SocketService socketService, 
InetAddress address, int port) {
           if (socketService == null) {
               throw new IllegalArgumentException("socketService is null");
           }
           this.socketService = socketService;
  -        this.inetAddress = inetAddress;
  +        this.address = address;
           this.port = port;
       }
   
       public synchronized void doStart() throws ServiceException {
           // Don't bother if we are already started/starting
  -        if (socketDaemon != null) {
  +        if (socketListener != null) {
               return;
           }
   
           ServerSocket serverSocket;
           try {
  -            serverSocket = new ServerSocket(port, 20, inetAddress);
  +            serverSocket = new ServerSocket(port, 20, address);
           } catch (Exception e) {
               throw new ServiceException("Service failed to open socket", e);
           }
   
  -        socketDaemon = new SocketDaemon(socketService, serverSocket);
  -        Thread thread = new Thread(socketDaemon);
  -        thread.setName("service." + getServiceName() + "@" + 
socketDaemon.hashCode());
  +        socketListener = new SocketListener(socketService, serverSocket);
  +        Thread thread = new Thread(socketListener);
  +        thread.setName("service." + getServiceName() + "@" + 
socketListener.hashCode());
           thread.setDaemon(true);
           thread.start();
       }
   
       public synchronized void doStop() {
  -        if (socketDaemon != null) {
  -            socketDaemon.stop();
  -            socketDaemon = null;
  +        if (socketListener != null) {
  +            socketListener.stop();
  +            socketListener = null;
           }
       }
   
  @@ -112,8 +115,8 @@
        * Gets the inetAddress number that the
        * daemon is listening on.
        */
  -    public InetAddress getInetAddress() {
  -        return inetAddress;
  +    public InetAddress getAddress() {
  +        return address;
       }
   
       /**
  @@ -124,12 +127,12 @@
           return port;
       }
   
  -    private static class SocketDaemon implements Runnable {
  +    private static class SocketListener implements Runnable {
           private SocketService serverService;
           private ServerSocket serverSocket;
           private boolean stopped;
   
  -        public SocketDaemon(SocketService serverService, ServerSocket 
serverSocket) {
  +        public SocketListener(SocketService serverService, ServerSocket 
serverSocket) {
               this.serverService = serverService;
               this.serverSocket = serverSocket;
               stopped = false;
  
  
  

Reply via email to