仔细看一下日志的输出
[] INFO [Timer-0] Loading XML bean definitions from class path resource [org/springframework/jdbc/support/sql-error-codes.xml] [] DEBUG [Timer-0] Using JAXP provider [com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl] [] DEBUG [Timer-0] Found beans DTD [http://www.springframework.org/dtd/spring-beans-2.0.dtd] in classpath: spring-beans-2.0.dtd [] DEBUG [Timer-0] Loading bean definitions [] DEBUG [Timer-0] Creating shared instance of singleton bean 'DB2' [] DEBUG [Timer-0] Creating instance of bean 'DB2' [] DEBUG [Timer-0] Eagerly caching bean 'DB2' to allow for resolving potential circular references [] DEBUG [Timer-0] Finished creating instance of bean 'DB2' [] DEBUG [Timer-0] Creating shared instance of singleton bean 'Derby' [] DEBUG [Timer-0] Creating instance of bean 'Derby' [] DEBUG [Timer-0] Eagerly caching bean 'Derby' to allow for resolving potential circular references [] DEBUG [Timer-0] Finished creating instance of bean 'Derby' [] DEBUG [Timer-0] Creating shared instance of singleton bean 'H2' [] DEBUG [Timer-0] Creating instance of bean 'H2' [] DEBUG [Timer-0] Eagerly caching bean 'H2' to allow for resolving potential circular references [] DEBUG [Timer-0] Finished creating instance of bean 'H2' [] DEBUG [Timer-0] Creating shared instance of singleton bean 'HSQL' [] DEBUG [Timer-0] Creating instance of bean 'HSQL' [] DEBUG [Timer-0] Eagerly caching bean 'HSQL' to allow for resolving potential circular references [] DEBUG [Timer-0] Finished creating instance of bean 'HSQL' [] DEBUG [Timer-0] Creating shared instance of singleton bean 'Informix' [] DEBUG [Timer-0] Creating instance of bean 'Informix' [] DEBUG [Timer-0] Eagerly caching bean 'Informix' to allow for resolving potential circular references [] DEBUG [Timer-0] Finished creating instance of bean 'Informix' [] DEBUG [Timer-0] Creating shared instance of singleton bean 'MS-SQL' [] DEBUG [Timer-0] Creating instance of bean 'MS-SQL' [] DEBUG [Timer-0] Eagerly caching bean 'MS-SQL' to allow for resolving potential circular references [] DEBUG [Timer-0] Finished creating instance of bean 'MS-SQL' [] DEBUG [Timer-0] Creating shared instance of singleton bean 'MySQL' [] DEBUG [Timer-0] Creating instance of bean 'MySQL' [] DEBUG [Timer-0] Eagerly caching bean 'MySQL' to allow for resolving potential circular references [] DEBUG [Timer-0] Finished creating instance of bean 'MySQL' [] DEBUG [Timer-0] Creating shared instance of singleton bean 'Oracle' [] DEBUG [Timer-0] Creating instance of bean 'Oracle' [] DEBUG [Timer-0] Eagerly caching bean 'Oracle' to allow for resolving potential circular references [] DEBUG [Timer-0] Finished creating instance of bean 'Oracle' [] DEBUG [Timer-0] Creating shared instance of singleton bean 'PostgreSQL' [] DEBUG [Timer-0] Creating instance of bean 'PostgreSQL' [] DEBUG [Timer-0] Eagerly caching bean 'PostgreSQL' to allow for resolving potential circular references [] DEBUG [Timer-0] Finished creating instance of bean 'PostgreSQL' [] DEBUG [Timer-0] Creating shared instance of singleton bean 'Sybase' [] DEBUG [Timer-0] Creating instance of bean 'Sybase' [] DEBUG [Timer-0] Eagerly caching bean 'Sybase' to allow for resolving potential circular references [] DEBUG [Timer-0] Finished creating instance of bean 'Sybase' [] INFO [Timer-0] SQLErrorCodes loaded: [DB2, Derby, H2, HSQL, Informix, MS-SQL, MySQL, Oracle, PostgreSQL, Sybase] [] DEBUG [Timer-0] Looking up default SQLErrorCodes for DataSource [org.springframework.jdbc.datasource.TransactionAwareDataSourceProxy@431f5ba2] [] DEBUG [Timer-0] Fetching JDBC Connection from DataSource [] DEBUG [Timer-0] Fetching JDBC Connection from DataSource [] DEBUG [Timer-0] Returning JDBC Connection to DataSource [] WARN [Timer-0] Error while extracting database product name - falling back to empty error codes org.springframework.jdbc.support.MetaDataAccessException: Error while extracting DatabaseMetaData; nested exception is java.sql.SQLException: The Network Adapter could not establish the connection at org.springframework.jdbc.support.JdbcUtils.extractDatabaseMetaData(JdbcUtils.java:296) at org.springframework.jdbc.support.JdbcUtils.extractDatabaseMetaData(JdbcUtils.java:320) at org.springframework.jdbc.support.SQLErrorCodesFactory.getErrorCodes(SQLErrorCodesFactory.java:216) at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.setDataSource(SQLErrorCodeSQLExceptionTranslator.java:140) at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.<init>(SQLErrorCodeSQLExceptionTranslator.java:103) at org.springframework.jdbc.support.JdbcAccessor.getExceptionTranslator(JdbcAccessor.java:99) at org.springframework.orm.ibatis.SqlMapClientTemplate.execute(SqlMapClientTemplate.java:212) at org.springframework.orm.ibatis.SqlMapClientTemplate.executeWithListResult(SqlMapClientTemplate.java:249) at org.springframework.orm.ibatis.SqlMapClientTemplate.queryForList(SqlMapClientTemplate.java:296) at org.springframework.orm.ibatis.SqlMapClientTemplate.queryForList(SqlMapClientTemplate.java:290) at cn.cisco.com.dao.impl.MonDAOImpl.prpt_map_siteid(MonDAOImpl.java:111) at cn.cisco.com.service.impl.MonServiceImpl.monitorPrptSiteId(MonServiceImpl.java:47) at cn.cisco.com.main.Monitor$4.run(Monitor.java:94) at java.util.TimerThread.mainLoop(Unknown Source) at java.util.TimerThread.run(Unknown Source) Caused by: java.sql.SQLException: The Network Adapter could not establish the connection如黑体部分所示,它去加载了sql-error-codes.xml文件了,而那些不存在的bean都在这个文件里定义了
然后我继续往后看日志
SqlMapClient operation; SQL []; --- The error occurred in cn/cisco/com/bean/monitor.xml. --- The error occurred while applying a parameter map. --- Check the prpt_map_siteid-InlineParameterMap. --- Check the statement (query failed). --- Cause: java.sql.SQLRecoverableException: Io exception: Connection reset by peer: socket write error; nested exception is com.ibatis.common.jdbc.exception.NestedSQLException: --- The error occurred in cn/cisco/com/bean/monitor.xml. --- The error occurred while applying a parameter map. --- Check the prpt_map_siteid-InlineParameterMap. --- Check the statement (query failed).说是我的sql query语句出错了,参数映射不对
SELECT siteid FROM 某表 GROUP BY siteid HAVING COUNT (DISTINCT hgssiteid) >= 2然后我把这个语句直接粘贴到toad里可以正常运行的
所以说这里没有问题
而且日志中的这个sql query错,是只有第二次运行的时候才会出错
我运行主函数的时候,这个方法就已经运行过一次了,没有任何问题,然后第二次是24小时候运行,当我第二天早上来看的的时候,就发现日志的问题,可是我很费解,这个语句根本没有错误啊???