dbcp的销毁
使用commons-dbcp-1.2.2.jar的DataSource,發現每次動態編譯后連接池中的連接不會釋放,新的連接池建立有mssql多出一組連接,只有重新啟動tomcat或weblogic才可以釋放。
package aaplan.dbutil;import java.io.InputStream; import java.util.Properties;import java.sql.*;import javax.sql.DataSource;import org.apache.commons.dbcp.BasicDataSourceFactory;public class JdbcUtil {private static DataSource dataSource=null;/*** @param args*/public static Connection getConnection() throws SQLException {return dataSource.getConnection();}public static DataSource getDataSource() {return dataSource;}public static void release() {if(dataSource !=null){try {((org.apache.commons.dbcp.BasicDataSource)dataSource).close();} catch (SQLException e) {// TODO Auto-generated catch block e.printStackTrace();}}}static{try{Properties properties=new Properties();InputStream inputStream= JdbcUtil.class.getClassLoader().getResourceAsStream("dbcp.properties");properties.load(inputStream);inputStream.close();dataSource =BasicDataSourceFactory.createDataSource(properties);System.out.println(dataSource);}catch(Exception e){e.printStackTrace();throw new RuntimeException("JdbcUtil Init Error!"); }}} View Code?
package aaplan.dbutil;import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener;/*** Application Lifecycle Listener implementation class DataSorceMgrListener**/ public class DataSorceMgrListener implements ServletContextListener {/*** Default constructor. */public DataSorceMgrListener() {// TODO Auto-generated constructor stub }/*** @see ServletContextListener#contextInitialized(ServletContextEvent)*/public void contextInitialized(ServletContextEvent arg0) {// TODO Auto-generated method stubSystem.out.println("Init context!");JdbcUtil.getDataSource();}/*** @see ServletContextListener#contextDestroyed(ServletContextEvent)*/public void contextDestroyed(ServletContextEvent arg0) {System.out.println("Destoryed Context!");JdbcUtil.release();}} View Code?
解決,寫了個ServerContextListener,在里面的Destroyed中人工釋放
下載
?
轉載于:https://www.cnblogs.com/wdfrog/p/3142367.html
總結
- 上一篇: 【转】visual studio 201
- 下一篇: [leetcode] 根据String数