1 29 30 package com.caucho.server.resin; 31 32 import com.caucho.management.server.AbstractManagedObject; 33 import com.caucho.management.server.ThreadPoolMXBean; 34 import com.caucho.util.L10N; 35 import com.caucho.util.ThreadPool; 36 37 import java.util.logging.Logger ; 38 39 public class ThreadPoolAdmin extends AbstractManagedObject 40 implements ThreadPoolMXBean 41 { 42 private static final L10N L = new L10N(ThreadPoolAdmin.class); 43 private static final Logger log 44 = Logger.getLogger(ThreadPoolAdmin.class.getName()); 45 46 private static ThreadPoolAdmin _admin; 47 48 private final ThreadPool _threadPool; 49 50 private ThreadPoolAdmin(ThreadPool threadPool) 51 { 52 _threadPool = threadPool; 53 54 registerSelf(); 55 } 56 57 61 public static ThreadPoolMXBean create() 62 { 63 if (_admin == null) 64 _admin = new ThreadPoolAdmin(ThreadPool.getThreadPool()); 65 66 return _admin; 67 } 68 69 72 public String getName() 73 { 74 return null; 75 } 76 77 80 public int getThreadMax() 81 { 82 return _threadPool.getThreadMax(); 83 } 84 85 88 public int getThreadIdleMin() 89 { 90 return _threadPool.getThreadIdleMin(); 91 } 92 93 96 public int getThreadIdleMax() 97 { 98 return _threadPool.getThreadIdleMax(); 99 } 100 101 104 public int getThreadCount() 105 { 106 return _threadPool.getThreadCount(); 107 } 108 109 112 public int getThreadActiveCount() 113 { 114 return _threadPool.getThreadActiveCount(); 115 } 116 117 120 public int getThreadIdleCount() 121 { 122 return _threadPool.getThreadIdleCount(); 123 } 124 } 125 | Popular Tags |