001/* 002 * Licensed to the Apache Software Foundation (ASF) under one or more 003 * contributor license agreements. See the NOTICE file distributed with 004 * this work for additional information regarding copyright ownership. 005 * The ASF licenses this file to You under the Apache License, Version 2.0 006 * (the "License"); you may not use this file except in compliance with 007 * the License. You may obtain a copy of the License at 008 * 009 * http://www.apache.org/licenses/LICENSE-2.0 010 * 011 * Unless required by applicable law or agreed to in writing, software 012 * distributed under the License is distributed on an "AS IS" BASIS, 013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 014 * See the License for the specific language governing permissions and 015 * limitations under the License. 016 */ 017package org.apache.commons.pool2.impl; 018 019import java.util.Set; 020 021/** 022 * Defines the methods that will be made available via JMX. 023 * 024 * NOTE: This interface exists only to define those attributes and methods that 025 * will be made available via JMX. It must not be implemented by clients 026 * as it is subject to change between major, minor and patch version 027 * releases of commons pool. Clients that implement this interface may 028 * not, therefore, be able to upgrade to a new minor or patch release 029 * without requiring code changes. 030 * 031 * @since 2.0 032 */ 033public interface GenericObjectPoolMXBean { 034 035 // Getters for basic configuration settings 036 037 /** 038 * See {@link GenericObjectPool#getBlockWhenExhausted()} 039 * @return See {@link GenericObjectPool#getBlockWhenExhausted()} 040 */ 041 boolean getBlockWhenExhausted(); 042 043 /** 044 * See {@link GenericObjectPool#getLifo()} 045 * @return See {@link GenericObjectPool#getLifo()} 046 */ 047 boolean getFairness(); 048 049 /** 050 * See {@link GenericObjectPool#getFairness()} 051 * @return See {@link GenericObjectPool#getFairness()} 052 */ 053 boolean getLifo(); 054 055 /** 056 * See {@link GenericObjectPool#getMaxIdle()} 057 * @return See {@link GenericObjectPool#getMaxIdle()} 058 */ 059 int getMaxIdle(); 060 061 /** 062 * See {@link GenericObjectPool#getMaxTotal()} 063 * @return See {@link GenericObjectPool#getMaxTotal()} 064 */ 065 int getMaxTotal(); 066 067 /** 068 * See {@link GenericObjectPool#getMaxWaitMillis()} 069 * @return See {@link GenericObjectPool#getMaxWaitMillis()} 070 */ 071 long getMaxWaitMillis(); 072 073 /** 074 * See {@link GenericObjectPool#getMinEvictableIdleTimeMillis()} 075 * @return See {@link GenericObjectPool#getMinEvictableIdleTimeMillis()} 076 */ 077 long getMinEvictableIdleTimeMillis(); 078 079 /** 080 * See {@link GenericObjectPool#getMinIdle()} 081 * @return See {@link GenericObjectPool#getMinIdle()} 082 */ 083 int getMinIdle(); 084 085 /** 086 * See {@link GenericObjectPool#getNumActive()} 087 * @return See {@link GenericObjectPool#getNumActive()} 088 */ 089 int getNumActive(); 090 091 /** 092 * See {@link GenericObjectPool#getNumIdle()} 093 * @return See {@link GenericObjectPool#getNumIdle()} 094 */ 095 int getNumIdle(); 096 097 /** 098 * See {@link GenericObjectPool#getNumTestsPerEvictionRun()} 099 * @return See {@link GenericObjectPool#getNumTestsPerEvictionRun()} 100 */ 101 int getNumTestsPerEvictionRun(); 102 103 /** 104 * See {@link GenericObjectPool#getTestOnCreate()} 105 * @return See {@link GenericObjectPool#getTestOnCreate()} 106 * @since 2.2 107 */ 108 boolean getTestOnCreate(); 109 110 /** 111 * See {@link GenericObjectPool#getTestOnBorrow()} 112 * @return See {@link GenericObjectPool#getTestOnBorrow()} 113 */ 114 boolean getTestOnBorrow(); 115 116 /** 117 * See {@link GenericObjectPool#getTestOnReturn()} 118 * @return See {@link GenericObjectPool#getTestOnReturn()} 119 */ 120 boolean getTestOnReturn(); 121 122 /** 123 * See {@link GenericObjectPool#getTestWhileIdle()} 124 * @return See {@link GenericObjectPool#getTestWhileIdle()} 125 */ 126 boolean getTestWhileIdle(); 127 128 /** 129 * See {@link GenericObjectPool#getTimeBetweenEvictionRunsMillis()} 130 * @return See {@link GenericObjectPool#getTimeBetweenEvictionRunsMillis()} 131 */ 132 long getTimeBetweenEvictionRunsMillis(); 133 134 /** 135 * See {@link GenericObjectPool#isClosed()} 136 * @return See {@link GenericObjectPool#isClosed()} 137 */ 138 boolean isClosed(); 139 140 // Getters for monitoring attributes 141 142 /** 143 * See {@link GenericObjectPool#getBorrowedCount()} 144 * @return See {@link GenericObjectPool#getBorrowedCount()} 145 */ 146 long getBorrowedCount(); 147 148 /** 149 * See {@link GenericObjectPool#getReturnedCount()} 150 * @return See {@link GenericObjectPool#getReturnedCount()} 151 */ 152 long getReturnedCount(); 153 154 /** 155 * See {@link GenericObjectPool#getCreatedCount()} 156 * @return See {@link GenericObjectPool#getCreatedCount()} 157 */ 158 long getCreatedCount(); 159 160 /** 161 * See {@link GenericObjectPool#getDestroyedCount()} 162 * @return See {@link GenericObjectPool#getDestroyedCount()} 163 */ 164 long getDestroyedCount(); 165 166 /** 167 * See {@link GenericObjectPool#getDestroyedByEvictorCount()} 168 * @return See {@link GenericObjectPool#getDestroyedByEvictorCount()} 169 */ 170 long getDestroyedByEvictorCount(); 171 172 /** 173 * See {@link GenericObjectPool#getDestroyedByBorrowValidationCount()} 174 * @return See {@link GenericObjectPool#getDestroyedByBorrowValidationCount()} 175 */ 176 long getDestroyedByBorrowValidationCount(); 177 178 /** 179 * See {@link GenericObjectPool#getMeanActiveTimeMillis()} 180 * @return See {@link GenericObjectPool#getMeanActiveTimeMillis()} 181 */ 182 long getMeanActiveTimeMillis(); 183 184 /** 185 * See {@link GenericObjectPool#getMeanIdleTimeMillis()} 186 * @return See {@link GenericObjectPool#getMeanIdleTimeMillis()} 187 */ 188 long getMeanIdleTimeMillis(); 189 190 /** 191 * See {@link GenericObjectPool#getMeanBorrowWaitTimeMillis()} 192 * @return See {@link GenericObjectPool#getMeanBorrowWaitTimeMillis()} 193 */ 194 long getMeanBorrowWaitTimeMillis(); 195 196 /** 197 * See {@link GenericObjectPool#getMaxBorrowWaitTimeMillis()} 198 * @return See {@link GenericObjectPool#getMaxBorrowWaitTimeMillis()} 199 */ 200 long getMaxBorrowWaitTimeMillis(); 201 202 /** 203 * See {@link GenericObjectPool#getCreationStackTrace()} 204 * @return See {@link GenericObjectPool#getCreationStackTrace()} 205 */ 206 String getCreationStackTrace(); 207 208 /** 209 * See {@link GenericObjectPool#getNumWaiters()} 210 * @return See {@link GenericObjectPool#getNumWaiters()} 211 */ 212 int getNumWaiters(); 213 214 // Getters for abandoned object removal configuration 215 216 /** 217 * See {@link GenericObjectPool#isAbandonedConfig()} 218 * @return See {@link GenericObjectPool#isAbandonedConfig()} 219 */ 220 boolean isAbandonedConfig(); 221 222 /** 223 * See {@link GenericObjectPool#getLogAbandoned()} 224 * @return See {@link GenericObjectPool#getLogAbandoned()} 225 */ 226 boolean getLogAbandoned(); 227 228 /** 229 * See {@link GenericObjectPool#getRemoveAbandonedOnBorrow()} 230 * @return See {@link GenericObjectPool#getRemoveAbandonedOnBorrow()} 231 */ 232 boolean getRemoveAbandonedOnBorrow(); 233 234 /** 235 * See {@link GenericObjectPool#getRemoveAbandonedOnMaintenance()} 236 * @return See {@link GenericObjectPool#getRemoveAbandonedOnMaintenance()} 237 */ 238 boolean getRemoveAbandonedOnMaintenance(); 239 240 /** 241 * See {@link GenericObjectPool#getRemoveAbandonedTimeout()} 242 * @return See {@link GenericObjectPool#getRemoveAbandonedTimeout()} 243 */ 244 int getRemoveAbandonedTimeout(); 245 246 /** 247 * See {@link GenericObjectPool#getFactoryType()} 248 * @return See {@link GenericObjectPool#getFactoryType()} 249 */ 250 String getFactoryType(); 251 252 /** 253 * See {@link GenericObjectPool#listAllObjects()} 254 * @return See {@link GenericObjectPool#listAllObjects()} 255 */ 256 Set<DefaultPooledObjectInfo> listAllObjects(); 257}