dblevins    2004/12/17 01:12:27

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

  Added thread count and priority attributes to the Pool service.  They are not
  used just yet, but soon.
  
  Revision  Changes    Path
  1.4       +42 -29    
openejb/modules/core/src/java/org/openejb/server/ServicePool.java
  
  Index: ServicePool.java
  ===================================================================
  RCS file: 
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/server/ServicePool.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- ServicePool.java  26 Apr 2004 21:58:31 -0000      1.3
  +++ ServicePool.java  17 Dec 2004 06:12:27 -0000      1.4
  @@ -63,10 +63,49 @@
    */
   public class ServicePool implements ServerService {
       
  -    ServerService next;
  +    private final ServerService next;
  +    private final int threads;
  +    private final int priority;
   
  -    public ServicePool(ServerService next){
  +    public ServicePool(String name, ServerService next, int threads, int 
priority){
           this.next = next;
  +        this.threads = threads;
  +        this.priority = priority;
  +    }
  +
  +
  +    public void service(final Socket socket) throws ServiceException, 
IOException{
  +        // This isn't a pool now, but will be someday
  +        Thread d = new Thread(new Runnable() {
  +            public void run() {
  +                try {
  +                    next.service(socket);
  +                } catch (SecurityException e) {
  +                    //logger.error( "Security error: "+ e.getMessage() );
  +                } catch (Throwable e) {
  +                    //logger.error( "Unexpected error", e );
  +
  +                } finally {
  +                    try {
  +                        if (socket != null)
  +                            socket.close();
  +                    } catch (Throwable t) {
  +                        //logger.error("Encountered problem while closing
  +                        // connection with client: "+t.getMessage());
  +                    }
  +                }
  +            }
  +        });
  +        d.setDaemon(true);
  +        d.start();
  +    }
  +
  +    public int getThreads() {
  +        return threads;
  +    }
  +
  +    public int getPriority() {
  +        return priority;
       }
   
       /**
  @@ -95,32 +134,6 @@
           
           // Then call the next guy
           next.stop();
  -    }
  -
  -    public void service(final Socket socket) throws ServiceException, 
IOException{
  -        // This isn't a pool now, but will be someday
  -        Thread d = new Thread(new Runnable() {
  -            public void run() {
  -                try {
  -                    next.service(socket);
  -                } catch (SecurityException e) {
  -                    //logger.error( "Security error: "+ e.getMessage() );
  -                } catch (Throwable e) {
  -                    //logger.error( "Unexpected error", e );
  -
  -                } finally {
  -                    try {
  -                        if (socket != null)
  -                            socket.close();
  -                    } catch (Throwable t) {
  -                        //logger.error("Encountered problem while closing
  -                        // connection with client: "+t.getMessage());
  -                    }
  -                }
  -            }
  -        });
  -        d.setDaemon(true);
  -        d.start();
       }
   
   
  
  
  
  1.11      +5 -2      
openejb/modules/core/src/java/org/openejb/server/SimpleSocketService.java
  
  Index: SimpleSocketService.java
  ===================================================================
  RCS file: 
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/server/SimpleSocketService.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- SimpleSocketService.java  17 Dec 2004 05:54:22 -0000      1.10
  +++ SimpleSocketService.java  17 Dec 2004 06:12:27 -0000      1.11
  @@ -83,9 +83,12 @@
           }
   
           String name = "ejb";
  +        int threads = 20;
  +        int priority = Thread.NORM_PRIORITY;
           String[] logOnSuccess = new 
String[]{"HOST","NAME","THREADID","USERID"};
           String[] logOnFailure = new String[]{"HOST","NAME"};
  -        service = new ServicePool(service);
  +
  +        service = new ServicePool(name, service, threads, priority);
           service = new ServiceAccessController(service, onlyFrom);
           service = new ServiceLogger(name, service, logOnSuccess, 
logOnFailure);
           server = service;
  
  
  

Reply via email to