0

嗨,任何人都可以向我解释如何减少数据库连接。我在 java 和 jdbc 中使用连接池概念开发了一个应用程序。但在我的应用程序中,我只为这个开放的 200 连接提供 MaxActive=200 。但在我的情况下,一旦应用程序启动,它将打开 1400 个数据库连接..请帮助我如何处理。

  <Resource
            name="jdbc/tm4u"
            auth="Container"
            type="javax.sql.DataSource"
            driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
            url="jdbc:sqlserver://192.168.1.230:1433;databaseName=XX;User=abc;Password=****;selectMethod=cursor"
        username="abc"
        password="******"
                maxActive="200"
      maxWait ="100"

       maxIdle="10"
            />

上面的代码是 JNDI 配置文件。

4

1 回答 1

0

基本上你需要在连接对象上调用 close 方法。

  1. 最好的答案是打开一次连接并保存 Connection 对象。当您第一次从驱动程序管理器 (DriverManager.getConnection) 或从 JDBC 驱动程序特定类 (SQLConnect.getConnection()) 获取 Connection 对象时,您将打开连接。如有必要,将此对象保存在类中的实例变量或静态变量中。在结束应用程序之前关闭连接(connection.close())。

  2. 使用单例模式实现类的静态实例。在单例的构造函数中打开连接,并将其保存为实例变量。每当您需要连接时,请在单例对象上调用方法。在单例的析构函数中调用 connection.close() 方法。

  3. 每当您打开连接时,请在完成所有语句后调用 close() 。

于 2012-04-16T18:01:56.030 回答