1919package com .mongodb .util ;
2020
2121import java .util .*;
22- import java .util .concurrent .*;
22+ import java .util .concurrent .Semaphore ;
23+ import java .util .concurrent .TimeUnit ;
2324
24- import java .lang .management .*;
2525import javax .management .*;
2626
2727public abstract class SimplePool <T > implements DynamicMBean {
@@ -48,6 +48,14 @@ public SimplePool( String name , int maxToKeep , int maxTotal , boolean trackLea
4848 _maxTotal = maxTotal ;
4949 _trackLeaks = trackLeaks || TRACK_LEAKS ;
5050 _debug = debug ;
51+ _mbeanInfo = new MBeanInfo ( this .getClass ().getName () , _name ,
52+ new MBeanAttributeInfo []{
53+ new MBeanAttributeInfo ( "name" , "java.lang.String" , "name of pool" , true , false , false ) ,
54+ new MBeanAttributeInfo ( "size" , "java.lang.Integer" , "total size of pool" , true , false , false ) ,
55+ new MBeanAttributeInfo ( "available" , "java.lang.Integer" , "total connections available" , true , false , false ) ,
56+ new MBeanAttributeInfo ( "inUse" , "java.lang.Integer" , "number connections in use right now" , true , false , false ) ,
57+ new MBeanAttributeInfo ( "everCreated" , "java.lang.Integer" , "number connections ever created" , true , false , false )
58+ } , null , null , null );
5159
5260 }
5361
@@ -295,14 +303,7 @@ public AttributeList getAttributes(String[] attributes){
295303 }
296304
297305 public MBeanInfo getMBeanInfo (){
298- return new MBeanInfo ( this .getClass ().getName () , _name ,
299- new MBeanAttributeInfo []{
300- new MBeanAttributeInfo ( "name" , "java.lang.String" , "name of pool" , true , false , false ) ,
301- new MBeanAttributeInfo ( "size" , "java.lang.Integer" , "total size of pool" , true , false , false ) ,
302- new MBeanAttributeInfo ( "available" , "java.lang.Integer" , "total connections available" , true , false , false ) ,
303- new MBeanAttributeInfo ( "inUse" , "java.lang.Integer" , "number connections in use right now" , true , false , false ) ,
304- new MBeanAttributeInfo ( "everCreated" , "java.lang.Integer" , "numbe connections ever created" , true , false , false )
305- } , null , null , null );
306+ return _mbeanInfo ;
306307 }
307308
308309 public Object invoke (String actionName , Object [] params , String [] signature ){
@@ -335,6 +336,7 @@ public String toString(){
335336 protected final int _maxTotal ;
336337 protected final boolean _trackLeaks ;
337338 protected final boolean _debug ;
339+ protected final MBeanInfo _mbeanInfo ;
338340
339341 private final List <T > _avail = new ArrayList <T >();
340342 protected final List <T > _availSafe = Collections .unmodifiableList ( _avail );
0 commit comments