下面是我在Vertx上的代码。使用SQLclient PreparedQuery从数据库中获取数据,但是在30分钟的空闲时间之后,它被卡住了。
Vert.x版本-3.8.0
//initialized one on application startup
var mysqlOpts = new MySQLConnectOptions()
.setHost(jdbcHost)
.setPort(3306)
.setDatabase(jdbcSchema)
.setUser(jdbcUser)
.setPassword(jdbcPass)
.setCachePreparedStatements(true);
var mysqlClient = MySQLPool.pool(vertx, mysqlOpts, new PoolOptions().setMaxSize(20 * Runtime.getRuntime().availableProcessors()));
// called every time on GET request works fine.
// After some idle time say 1hr.The execution at below gets stuck. (The GET request gets stuck).If I kill the process and try again it starts working.
mysqlClient.preparedQuery(SIMPLE_SELECT_QUERY ,tuple , ar -> {
// some code here
});
请告知即使闲置一段时间后仍需要做什么。我们不会一直收到请求。