/** * Understands and applies the following integer properties. * * <ul> * <li>max.size - setMaximumSize * <li>max.threads - setMaximumThreads * <li>timeout.idle - setIdleTimeout * <li>timeout.transaction - setTransactionTimeout * <li>tune.size - Automatically tunes queue size when "true" and transaction timeout set. * <li>tune.threads - Automatically tunes maximum thread count. * </ul> */ public synchronized void applyProperties(PropertyMap properties) { if (properties.containsKey("max.size")) { setMaximumSize(properties.getInt("max.size")); } if (properties.containsKey("max.threads")) { setMaximumThreads(properties.getInt("max.threads")); } if (properties.containsKey("timeout.idle")) { setIdleTimeout(properties.getNumber("timeout.idle").longValue()); } if (properties.containsKey("timeout.transaction")) { setTransactionTimeout(properties.getNumber("timeout.transaction").longValue()); } if ("true".equalsIgnoreCase(properties.getString("tune.size"))) { addTransactionQueueListener(new TransactionQueueSizeTuner()); } if ("true".equalsIgnoreCase(properties.getString("tune.threads"))) { addTransactionQueueListener(new TransactionQueueThreadTuner()); } }