1 /*
2 * Licensed to the Apache Software Foundation (ASF) under one or more
3 * contributor license agreements. See the NOTICE file distributed with
4 * this work for additional information regarding copyright ownership.
5 * The ASF licenses this file to You under the Apache License, Version 2.0
6 * (the "License"); you may not use this file except in compliance with
7 * the License. You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */17 modulehunt.pool.impl.GenericKeyedObjectPoolMXBean;
18 19 importhunt.collection.List;
20 importhunt.collection.Map;
21 22 23 /**
24 * Defines the methods that will be made available via JMX.
25 *
26 * NOTE: This interface exists only to define those attributes and methods that
27 * will be made available via JMX. It must not be implemented by clients
28 * as it is subject to change between major, minor and patch version
29 * releases of commons pool. Clients that implement this interface may
30 * not, therefore, be able to upgrade to a new minor or patch release
31 * without requiring code changes.
32 *
33 * @param <K> The type of keys maintained by the pool.
34 *
35 */36 interfaceGenericKeyedObjectPoolMXBean(K) {
37 38 // Expose getters for configuration settings39 40 /**
41 * See {@link GenericKeyedObjectPool#getBlockWhenExhausted()}
42 * @return See {@link GenericKeyedObjectPool#getBlockWhenExhausted()}
43 */44 boolgetBlockWhenExhausted();
45 46 /**
47 * See {@link GenericKeyedObjectPool#getFairness()}
48 * @return See {@link GenericKeyedObjectPool#getFairness()}
49 */50 boolgetFairness();
51 52 /**
53 * See {@link GenericKeyedObjectPool#getLifo()}
54 * @return See {@link GenericKeyedObjectPool#getLifo()}
55 */56 boolgetLifo();
57 58 /**
59 * See {@link GenericKeyedObjectPool#getMaxIdlePerKey()}
60 * @return See {@link GenericKeyedObjectPool#getMaxIdlePerKey()}
61 */62 intgetMaxIdlePerKey();
63 64 /**
65 * See {@link GenericKeyedObjectPool#getMaxTotal()}
66 * @return See {@link GenericKeyedObjectPool#getMaxTotal()}
67 */68 intgetMaxTotal();
69 70 /**
71 * See {@link GenericKeyedObjectPool#getMaxTotalPerKey()}
72 * @return See {@link GenericKeyedObjectPool#getMaxTotalPerKey()}
73 */74 intgetMaxTotalPerKey();
75 76 /**
77 * See {@link GenericKeyedObjectPool#getMaxWaitMillis()}
78 * @return See {@link GenericKeyedObjectPool#getMaxWaitMillis()}
79 */80 longgetMaxWaitMillis();
81 82 /**
83 * See {@link GenericKeyedObjectPool#getMinEvictableIdleTimeMillis()}
84 * @return See {@link GenericKeyedObjectPool#getMinEvictableIdleTimeMillis()}
85 */86 longgetMinEvictableIdleTimeMillis();
87 88 /**
89 * See {@link GenericKeyedObjectPool#getMinIdlePerKey()}
90 * @return See {@link GenericKeyedObjectPool#getMinIdlePerKey()}
91 */92 intgetMinIdlePerKey();
93 94 /**
95 * See {@link GenericKeyedObjectPool#getNumActive()}
96 * @return See {@link GenericKeyedObjectPool#getNumActive()}
97 */98 intgetNumActive();
99 100 /**
101 * See {@link GenericKeyedObjectPool#getNumIdle()}
102 * @return See {@link GenericKeyedObjectPool#getNumIdle()}
103 */104 intgetNumIdle();
105 106 /**
107 * See {@link GenericKeyedObjectPool#getNumTestsPerEvictionRun()}
108 * @return See {@link GenericKeyedObjectPool#getNumTestsPerEvictionRun()}
109 */110 intgetNumTestsPerEvictionRun();
111 112 /**
113 * See {@link GenericKeyedObjectPool#getTestOnCreate()}
114 * @return See {@link GenericKeyedObjectPool#getTestOnCreate()}
115 */116 boolgetTestOnCreate();
117 118 /**
119 * See {@link GenericKeyedObjectPool#getTestOnBorrow()}
120 * @return See {@link GenericKeyedObjectPool#getTestOnBorrow()}
121 */122 boolgetTestOnBorrow();
123 124 /**
125 * See {@link GenericKeyedObjectPool#getTestOnReturn()}
126 * @return See {@link GenericKeyedObjectPool#getTestOnReturn()}
127 */128 boolgetTestOnReturn();
129 130 /**
131 * See {@link GenericKeyedObjectPool#getTestWhileIdle()}
132 * @return See {@link GenericKeyedObjectPool#getTestWhileIdle()}
133 */134 boolgetTestWhileIdle();
135 136 /**
137 * See {@link GenericKeyedObjectPool#getTimeBetweenEvictionRunsMillis()}
138 * @return See {@link GenericKeyedObjectPool#getTimeBetweenEvictionRunsMillis()}
139 */140 longgetTimeBetweenEvictionRunsMillis();
141 142 /**
143 * See {@link GenericKeyedObjectPool#isClosed()}
144 * @return See {@link GenericKeyedObjectPool#isClosed()}
145 */146 boolisClosed();
147 148 // Expose getters for monitoring attributes149 150 /**
151 * See {@link GenericKeyedObjectPool#getNumActivePerKey()}
152 * @return See {@link GenericKeyedObjectPool#getNumActivePerKey()}
153 */154 Map!(string,Integer) getNumActivePerKey();
155 156 /**
157 * See {@link GenericKeyedObjectPool#getBorrowedCount()}
158 * @return See {@link GenericKeyedObjectPool#getBorrowedCount()}
159 */160 longgetBorrowedCount();
161 162 /**
163 * See {@link GenericKeyedObjectPool#getReturnedCount()}
164 * @return See {@link GenericKeyedObjectPool#getReturnedCount()}
165 */166 longgetReturnedCount();
167 168 /**
169 * See {@link GenericKeyedObjectPool#getCreatedCount()}
170 * @return See {@link GenericKeyedObjectPool#getCreatedCount()}
171 */172 longgetCreatedCount();
173 174 /**
175 * See {@link GenericKeyedObjectPool#getDestroyedCount()}
176 * @return See {@link GenericKeyedObjectPool#getDestroyedCount()}
177 */178 longgetDestroyedCount();
179 180 /**
181 * See {@link GenericKeyedObjectPool#getDestroyedByEvictorCount()}
182 * @return See {@link GenericKeyedObjectPool#getDestroyedByEvictorCount()}
183 */184 longgetDestroyedByEvictorCount();
185 186 /**
187 * See {@link GenericKeyedObjectPool#getDestroyedByBorrowValidationCount()}
188 * @return See {@link GenericKeyedObjectPool#getDestroyedByBorrowValidationCount()}
189 */190 longgetDestroyedByBorrowValidationCount();
191 192 /**
193 * See {@link GenericKeyedObjectPool#getMeanActiveTimeMillis()}
194 * @return See {@link GenericKeyedObjectPool#getMeanActiveTimeMillis()}
195 */196 longgetMeanActiveTimeMillis();
197 198 /**
199 * See {@link GenericKeyedObjectPool#getMeanIdleTimeMillis()}
200 * @return See {@link GenericKeyedObjectPool#getMeanIdleTimeMillis()}
201 */202 longgetMeanIdleTimeMillis();
203 204 /**
205 * See {@link GenericKeyedObjectPool#getMaxBorrowWaitTimeMillis()}
206 * @return See {@link GenericKeyedObjectPool#getMaxBorrowWaitTimeMillis()}
207 */208 longgetMeanBorrowWaitTimeMillis();
209 210 /**
211 * See {@link GenericKeyedObjectPool#getMaxBorrowWaitTimeMillis()}
212 * @return See {@link GenericKeyedObjectPool#getMaxBorrowWaitTimeMillis()}
213 */214 longgetMaxBorrowWaitTimeMillis();
215 216 /**
217 * See {@link GenericKeyedObjectPool#getCreationStackTrace()}
218 * @return See {@link GenericKeyedObjectPool#getCreationStackTrace()}
219 */220 stringgetCreationStackTrace();
221 222 /**
223 * See {@link GenericKeyedObjectPool#getNumWaiters()}
224 * @return See {@link GenericKeyedObjectPool#getNumWaiters()}
225 */226 intgetNumWaiters();
227 228 /**
229 * See {@link GenericKeyedObjectPool#getNumWaitersByKey()}
230 * @return See {@link GenericKeyedObjectPool#getNumWaitersByKey()}
231 */232 Map!(string,Integer) getNumWaitersByKey();
233 234 /**
235 * See {@link GenericKeyedObjectPool#listAllObjects()}
236 * @return See {@link GenericKeyedObjectPool#listAllObjects()}
237 */238 Map!(string,List!(DefaultPooledObjectInfo)) listAllObjects();
239 }