我有一个从控制台启动的 H2 服务器。来自不同机器的客户端访问服务器并调用函数别名(在数据库中注册)。问题是,这个函数被调用了超过一百万次。因此,在这种情况下,连接超时,但后来我通过将客户端连接字符串更改为 AUTORECONNECT=TRUE 来解决它。这解决了问题,但增加了重新连接时间延迟(我想避免)。
是否有任何标志/命令可用于指定服务器以专用 X 数量的连接?
此外,我还研究了从 Application 中启动服务器的可能性。喜欢,
JdbcConnectionPool cp = JdbcConnectionPool.create(
"jdbc:h2:tcp://IPADDRESS:9092/~/test", "sa", "");
cp.setMaxConnections(MAX_CONN_IN_POOL);
// start the TCP Server
Server server = Server.createTcpServer().start();
Connection conn = cp.getConnection();
Statement stat = conn.createStatement();
stat.execute("SELECT myFunctionAlias(arg)");
cp.dispose();
server.stop();
上面的示例代码确实启动了服务器,并且只会运行一次。我希望服务器打开并继续监听客户端,并从连接池中为它们提供服务。任何指针?