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;