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 is subject to change between major version releases 025 * of commons pool. 026 * 027 * @version $Revision: $ 028 * 029 * @since 2.0 030 */ 031public interface GenericObjectPoolMXBean { 032 // Getters for basic configuration settings 033 /** 034 * See {@link GenericObjectPool#getBlockWhenExhausted()} 035 * @return See {@link GenericObjectPool#getBlockWhenExhausted()} 036 */ 037 boolean getBlockWhenExhausted(); 038 /** 039 * See {@link GenericObjectPool#getLifo()} 040 * @return See {@link GenericObjectPool#getLifo()} 041 */ 042 boolean getLifo(); 043 /** 044 * See {@link GenericObjectPool#getMaxIdle()} 045 * @return See {@link GenericObjectPool#getMaxIdle()} 046 */ 047 int getMaxIdle(); 048 /** 049 * See {@link GenericObjectPool#getMaxTotal()} 050 * @return See {@link GenericObjectPool#getMaxTotal()} 051 */ 052 int getMaxTotal(); 053 /** 054 * See {@link GenericObjectPool#getMaxWaitMillis()} 055 * @return See {@link GenericObjectPool#getMaxWaitMillis()} 056 */ 057 long getMaxWaitMillis(); 058 /** 059 * See {@link GenericObjectPool#getMinEvictableIdleTimeMillis()} 060 * @return See {@link GenericObjectPool#getMinEvictableIdleTimeMillis()} 061 */ 062 long getMinEvictableIdleTimeMillis(); 063 /** 064 * See {@link GenericObjectPool#getMinIdle()} 065 * @return See {@link GenericObjectPool#getMinIdle()} 066 */ 067 int getMinIdle(); 068 /** 069 * See {@link GenericObjectPool#getNumActive()} 070 * @return See {@link GenericObjectPool#getNumActive()} 071 */ 072 int getNumActive(); 073 /** 074 * See {@link GenericObjectPool#getNumIdle()} 075 * @return See {@link GenericObjectPool#getNumIdle()} 076 */ 077 int getNumIdle(); 078 /** 079 * See {@link GenericObjectPool#getNumTestsPerEvictionRun()} 080 * @return See {@link GenericObjectPool#getNumTestsPerEvictionRun()} 081 */ 082 int getNumTestsPerEvictionRun(); 083 /** 084 * See {@link GenericObjectPool#getTestOnBorrow()} 085 * @return See {@link GenericObjectPool#getTestOnBorrow()} 086 */ 087 boolean getTestOnBorrow(); 088 /** 089 * See {@link GenericObjectPool#getTestOnReturn()} 090 * @return See {@link GenericObjectPool#getTestOnReturn()} 091 */ 092 boolean getTestOnReturn(); 093 /** 094 * See {@link GenericObjectPool#getTestWhileIdle()} 095 * @return See {@link GenericObjectPool#getTestWhileIdle()} 096 */ 097 boolean getTestWhileIdle(); 098 /** 099 * See {@link GenericObjectPool#getTimeBetweenEvictionRunsMillis()} 100 * @return See {@link GenericObjectPool#getTimeBetweenEvictionRunsMillis()} 101 */ 102 long getTimeBetweenEvictionRunsMillis(); 103 /** 104 * See {@link GenericObjectPool#isClosed()} 105 * @return See {@link GenericObjectPool#isClosed()} 106 */ 107 boolean isClosed(); 108 // Getters for monitoring attributes 109 /** 110 * See {@link GenericObjectPool#getBorrowedCount()} 111 * @return See {@link GenericObjectPool#getBorrowedCount()} 112 */ 113 long getBorrowedCount(); 114 /** 115 * See {@link GenericObjectPool#getReturnedCount()} 116 * @return See {@link GenericObjectPool#getReturnedCount()} 117 */ 118 long getReturnedCount(); 119 /** 120 * See {@link GenericObjectPool#getCreatedCount()} 121 * @return See {@link GenericObjectPool#getCreatedCount()} 122 */ 123 long getCreatedCount(); 124 /** 125 * See {@link GenericObjectPool#getDestroyedCount()} 126 * @return See {@link GenericObjectPool#getDestroyedCount()} 127 */ 128 long getDestroyedCount(); 129 /** 130 * See {@link GenericObjectPool#getDestroyedByEvictorCount()} 131 * @return See {@link GenericObjectPool#getDestroyedByEvictorCount()} 132 */ 133 long getDestroyedByEvictorCount(); 134 /** 135 * See {@link GenericObjectPool#getDestroyedByBorrowValidationCount()} 136 * @return See {@link GenericObjectPool#getDestroyedByBorrowValidationCount()} 137 */ 138 long getDestroyedByBorrowValidationCount(); 139 /** 140 * See {@link GenericObjectPool#getMeanActiveTimeMillis()} 141 * @return See {@link GenericObjectPool#getMeanActiveTimeMillis()} 142 */ 143 long getMeanActiveTimeMillis(); 144 /** 145 * See {@link GenericObjectPool#getMeanIdleTimeMillis()} 146 * @return See {@link GenericObjectPool#getMeanIdleTimeMillis()} 147 */ 148 long getMeanIdleTimeMillis(); 149 /** 150 * See {@link GenericObjectPool#getMeanBorrowWaitTimeMillis()} 151 * @return See {@link GenericObjectPool#getMeanBorrowWaitTimeMillis()} 152 */ 153 long getMeanBorrowWaitTimeMillis(); 154 /** 155 * See {@link GenericObjectPool#getMaxBorrowWaitTimeMillis()} 156 * @return See {@link GenericObjectPool#getMaxBorrowWaitTimeMillis()} 157 */ 158 long getMaxBorrowWaitTimeMillis(); 159 /** 160 * See {@link GenericObjectPool#getCreationStackTrace()} 161 * @return See {@link GenericObjectPool#getCreationStackTrace()} 162 */ 163 String getCreationStackTrace(); 164 /** 165 * See {@link GenericObjectPool#getNumWaiters()} 166 * @return See {@link GenericObjectPool#getNumWaiters()} 167 */ 168 int getNumWaiters(); 169 170 // Getters for abandoned object removal configuration 171 /** 172 * See {@link GenericObjectPool#isAbandonedConfig()} 173 * @return See {@link GenericObjectPool#isAbandonedConfig()} 174 */ 175 boolean isAbandonedConfig(); 176 /** 177 * See {@link GenericObjectPool#getLogAbandoned()} 178 * @return See {@link GenericObjectPool#getLogAbandoned()} 179 */ 180 boolean getLogAbandoned(); 181 /** 182 * See {@link GenericObjectPool#getRemoveAbandonedOnBorrow()} 183 * @return See {@link GenericObjectPool#getRemoveAbandonedOnBorrow()} 184 */ 185 boolean getRemoveAbandonedOnBorrow(); 186 /** 187 * See {@link GenericObjectPool#getRemoveAbandonedOnMaintenance()} 188 * @return See {@link GenericObjectPool#getRemoveAbandonedOnMaintenance()} 189 */ 190 boolean getRemoveAbandonedOnMaintenance(); 191 /** 192 * See {@link GenericObjectPool#getRemoveAbandonedTimeout()} 193 * @return See {@link GenericObjectPool#getRemoveAbandonedTimeout()} 194 */ 195 int getRemoveAbandonedTimeout(); 196 /** 197 * See {@link GenericObjectPool#getFactoryType()} 198 * @return See {@link GenericObjectPool#getFactoryType()} 199 */ 200 public String getFactoryType(); 201 /** 202 * See {@link GenericObjectPool#listAllObjects()} 203 * @return See {@link GenericObjectPool#listAllObjects()} 204 */ 205 Set<DefaultPooledObjectInfo> listAllObjects(); 206}