if (beanPoolDesc_ == null) {
beanPoolDesc_ = new BeanPoolDescriptor();
}
MdbContainer mdbc = ejbContainerUtilImpl.getServices()
.<Config>getService(Config.class, ServerEnvironment.DEFAULT_INSTANCE_NAME).getExtensionByType(MdbContainer.class);
int maxPoolSize = beanPoolDesc_.getMaxPoolSize();
if (maxPoolSize < 0) {
maxPoolSize = stringToInt(mdbc.getMaxPoolSize(), appEJBName_,
_logger);
}
maxPoolSize = validateValue(maxPoolSize, 1, -1, DEFAULT_MAX_POOL_SIZE,
"max-pool-size", appEJBName_, _logger);
beanPoolDesc_.setMaxPoolSize(maxPoolSize);
int value = beanPoolDesc_.getSteadyPoolSize();
if (value < 0) {
value = stringToInt(mdbc.getSteadyPoolSize(), appEJBName_, _logger);
}
value = validateValue(value, 0, maxPoolSize, DEFAULT_STEADY_SIZE,
"steady-pool-size", appEJBName_, _logger);
beanPoolDesc_.setSteadyPoolSize(value);
value = beanPoolDesc_.getPoolResizeQuantity();
if (value < 0) {
value = stringToInt(mdbc.getPoolResizeQuantity(), appEJBName_,
_logger);
}
value = validateValue(value, 1, maxPoolSize, DEFAULT_RESIZE_QUANTITY,
"pool-resize-quantity", appEJBName_, _logger);
beanPoolDesc_.setPoolResizeQuantity(value);
//if ejb pool idle-timeout-in-seconds is not explicitly set in
//glassfish-ejb-jar.xml, returned value is -1
value = beanPoolDesc_.getPoolIdleTimeoutInSeconds();
if (value < MIN_IDLE_TIMEOUT) {
value = stringToInt(mdbc.getIdleTimeoutInSeconds(), appEJBName_,
_logger);
}
value = validateValue(value, MIN_IDLE_TIMEOUT, -1,
DEFAULT_IDLE_TIMEOUT, "idle-timeout-in-seconds", appEJBName_,
_logger);