L'exception est levée lorsque vous tentez de suspendre le pool HikariCP en simulant une panne de connexion réseau pendant quelques secondes. Pourquoi la piscine ne peut-elle pas être suspendue? Existe-t-il d'autres moyens simples de simuler une connexion réseau perdue (vers un serveur MySQL sur localhost)?Impossible de suspendre HikariCP
Configuration:
final String configFile = "src/main/resources/db.properties";
HikariConfig config = new HikariConfig(configFile);
config.setRegisterMbeans(true);
config.setPoolName("hikari-pool-1");
ds = new HikariDataSource(config);
Propriétés:
jdbcUrl=jdbc:mysql://localhost:3306/db?user=user&password=password
dataSource.prepStmtCacheSize=250
dataSource.prepStmtCacheSqlLimit=2048
dataSource.useServerPrepStmts=true
dataSource.useLocalSessionState=true
dataSource.useLocalTransactionState=true
dataSource.rewriteBatchedStatements=true
dataSource.cacheResultSetMetadata=true
dataSource.cacheServerConfiguration=true
dataSource.elideSetAutoCommits=true
dataSource.maintainTimeStats=false
JUnit:
MBeanServer mBeanServer = ManagementFactory.getPlatformMBeanServer();
ObjectName poolName = new ObjectName("com.zaxxer.hikari:type=Pool (hikari-pool-1)");
HikariPoolMXBean poolProxy = JMX.newMXBeanProxy(mBeanServer, poolName, HikariPoolMXBean.class);
poolProxy.suspendPool();
Exception
java.lang.IllegalStateException: hikari-pool-1 - is not suspendable