00001 00035 package org.objectweb.jonas.resource.pool.api; 00036 00081 public interface Pool { 00088 void adjust() throws Exception; 00089 00095 PoolMatchFactory getMatchFactory(); 00096 00103 long getMaxOpentime(); 00104 00109 int getMaxSize(); 00110 00117 int getMaxWaiters(); 00118 00125 int getMaxWaitTime(); 00126 00131 int getMinSize(); 00132 00142 Object getResource(Object hints) throws Exception; 00143 00150 int getSamplingPeriod() throws Exception; 00151 00156 long getTimeout(); 00157 00162 int getSize(); 00163 00173 void releaseResource(Object resource, boolean destroy, boolean adjustment) throws Exception; 00174 00180 void sampling() throws Exception; 00181 00188 void setInitSize(int initsize) throws Exception; 00189 00195 void setMatchFactory(PoolMatchFactory pmf); 00196 00203 void setMaxAge(long maxAge); 00204 00211 void setMaxOpentime(long maxOpentime); 00212 00219 void setMaxSize(int maxsize) throws Exception; 00220 00228 void setMaxWaiters(int maxWaiters) throws Exception; 00229 00237 void setMaxWaitTime(int maxWaitTime) throws Exception; 00238 00245 void setMinSize(int minsize) throws Exception; 00246 00254 void setSamplingPeriod(int samplingPeriod) throws Exception; 00255 00261 void setTimeout(long crto); 00262 00267 void startMonitor(); 00268 00274 void validateMCs() throws Exception; 00275 } 00276 00277