hi, guys. when I use the struts and dbcp for configure the database pool.
if the data is very large, the tomcat always throw a exception: java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket. 2006-8-24 9:50:08 org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessorprocessChildren 严重: Exception invoking periodic operation: java.lang.NullPointerException at java.util.Arrays.sort(Arrays.java:1078) at org.apache.naming.resources.FileDirContext.list( FileDirContext.java:885) at org.apache.naming.resources.FileDirContext.listBindings( FileDirContext.java:335) at org.apache.naming.resources.ProxyDirContext.listBindings( ProxyDirContext.java:509) at org.apache.catalina.loader.WebappClassLoader.modified( WebappClassLoader.java:734) at org.apache.catalina.loader.WebappLoader.modified( WebappLoader.java:516) at org.apache.catalina.core.StandardContext.backgroundProcess( StandardContext.java:4654) at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren (ContainerBase.java:1619) at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren (ContainerBase.java:1628) at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren (ContainerBase.java:1628) at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run( ContainerBase.java:1608) at java.lang.Thread.run(Thread.java:534) 2006-8-24 9:50:18 org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessorprocessChildren 严重: Exception invoking periodic operation: java.lang.NullPointerException at java.util.Arrays.sort(Arrays.java:1078) at org.apache.naming.resources.FileDirContext.list( FileDirContext.java:885) at org.apache.naming.resources.FileDirContext.listBindings( FileDirContext.java:335) at org.apache.naming.resources.ProxyDirContext.listBindings( ProxyDirContext.java:509) at org.apache.catalina.loader.WebappClassLoader.modified( WebappClassLoader.java:734) at org.apache.catalina.loader.WebappLoader.modified( WebappLoader.java:516) at org.apache.catalina.core.StandardContext.backgroundProcess( StandardContext.java:4654) at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren (ContainerBase.java:1619) at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren (ContainerBase.java:1628) at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren (ContainerBase.java:1628) at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run( ContainerBase.java:1608) at java.lang.Thread.run(Thread.java:534) My Database is ms sql server and my jdk version is 1.4.2 and tomcat is : 5.0.28 Struts version is : 1.2.7 My Struts configure is here: <data-source type="org.apache.commons.dbcp.BasicDataSource"> <set-property property="description" value="MS SQL Server data source"/> <set-property property="driverClassName" value=" com.microsoft.jdbc.sqlserver.SQLServerDriver"/> <set-property property="maxActive" value="5"/> <set-property property="maxWait" value="-1"/> <set-property property="defaultAutoCommit" value="true"/> <set-property property="username" value="sa"/> <set-property property="password" value="123456"/> <set-property property="url" value="jdbc:microsoft:sqlserver://10.2.0.101:1433;databasename=db"/> My Action code is here: public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest req, HttpServletResponse res ) throws Exception { Connection conn = null; try { DataSource dataSource = getDataSource(req); conn = dataSource.getConnection(); conn.setAutoCommit(true); // conn = DBManager.getConnection(); // conn.setAutoCommit(true); res.setContentType("text/plain;charset=UTF-8"); PrintWriter out = res.getWriter(); Parser parser = new Parser(conn, out, servlet.getServletContext ().getRealPath("/upload/add")); parser.parse(); } catch ( Exception sqle ) { Exception e = new Exception(); e.initCause(sqle); throw e; } finally { try { conn.close(); } catch ( Exception e ) { System.err.println("DataBase have a Exception : " + e); } } return mapping.findForward("parsesucess"); } and I use the connection in Class Parser. but I directly use the JDBC, but not use the datasource pool there is not Exception. why? Please help me Thx Mike.G