config.setAsyncExecutorFactory(asyncExecutorFactory.factory());
if (entryWrapper != null) {
config.setEntryWrapper(entryWrapper);
}
TypedProperties p = new TypedProperties();
// Async Executor
p.putAll(asyncExecutorFactory.properties());
// Connection Pool
p.put("maxActive", Integer.toString(connectionPool.maxActive()));
p.put("maxIdle", Integer.toString(connectionPool.maxIdle()));
p.put("maxTotal", Integer.toString(connectionPool.maxTotal()));
p.put("minIdle", connectionPool.minIdle());
p.put("minEvictableIdleTimeMillis", Long.toString(connectionPool.minEvictableIdleTime()));
p.put("testWhileIdle", Boolean.toString(connectionPool.testWhileIdle()));
p.put("timeBetweenEvictionRunsMillis", Long.toString(connectionPool.timeBetweenEvictionRuns()));
p.put("whenExhaustedAction", Integer.toString(connectionPool.exhaustedAction().ordinal()));
config.setTypedProperties(p);
Properties hrp = new Properties();
hrp.put(ConfigurationProperties.CONNECT_TIMEOUT, Long.toString(connectionTimeout));