Hi, My sample code is like this: package calcite;
import dwf3s.PGConnection; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.Properties; import javax.sql.DataSource; import org.apache.calcite.adapter.jdbc.JdbcSchema; import org.apache.calcite.jdbc.CalciteConnection; import org.apache.calcite.schema.Schema; import org.apache.calcite.schema.SchemaPlus; import org.apache.commons.dbcp2.BasicDataSource; public class CalciteConnectionPGAllTest { public static void main(String[] args) throws ClassNotFoundException, SQLException { for (int i = 0; i < 10000; i++) { Class.forName("org.apache.calcite.jdbc.Driver"); Properties info = new Properties(); info.setProperty("lex", "JAVA"); Connection connection = DriverManager.getConnection("jdbc:calcite:", info); CalciteConnection calciteConnection = connection.unwrap(CalciteConnection.class); SchemaPlus rootSchema = calciteConnection.getRootSchema(); // 本地Schema. // Schema schema = ReflectiveSchema.create(calciteConnection, rootSchema, "hr", // new HrSchema()); /** * 此处为不同数据源的实际操作部分,BasicDataSource为Apache DBCP的连接池 */ Class.forName("org.postgresql.Driver"); BasicDataSource dataSource = new BasicDataSource(); dataSource.setUrl("jdbc:postgresql://192.168.130.7:5432/postgres"); dataSource.setUsername("postgres"); dataSource.setPassword("postgres"); dataSource.addConnectionProperty("remarks", "true"); dataSource.addConnectionProperty("useInformationSchema", "true"); Schema schema = JdbcSchema.create(rootSchema, "hr", dataSource, null, "pgtest"); rootSchema.add("hr", schema); Statement statement = calciteConnection.createStatement(); ResultSet resultSet = statement.executeQuery("select * from hr.dwf3s"); System.out.println(String.format("第%s个客户端", i)); resultSet.close(); statement.close(); connection.close(); } } } Best Regards, Wangminhao Gou > -----原始邮件----- > 发件人: "勾王敏浩" <gwm...@mails.tsinghua.edu.cn> > 发送时间: 2019-05-28 10:39:21 (星期二) > 收件人: dev@calcite.apache.org > 抄送: > 主题: calcite close connection > > Hi, > I found that when I close the calciteConnection,the subSchema connection > is not auto-closed... > > > Best Regards > Wangminhao Gou