Hi All, I am trying to fix the dbreport integration test case for the ESB 4.9.0 release and came through the below exception from the automation framework.
java.sql.SQLException: Operation not allowed after ResultSet closed at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1055) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:926) at com.mysql.jdbc.ResultSetImpl.checkClosed(ResultSetImpl.java:768) at com.mysql.jdbc.ResultSetImpl.next(ResultSetImpl.java:7008) at org.wso2.carbon.esb.mediator.test.db.dbreport.DBReportMediatorTestCase.getPrice(DBReportMediatorTestCase.java:209) at org.wso2.carbon.esb.mediator.test.db.dbreport.DBReportMediatorTestCase.DBReportUseMessageContentTestCase(DBReportMediatorTestCase.java:141) When I go through the code of the automation framework, I found out that the below code segment in the MySqlDatabaseManager class. *This will close the Statement after executing. But that operation will eventually closes the result set according to the java documentation[1]* /** * @param sql * @return * @throws java.sql.SQLException */ public ResultSet executeQuery(String sql) throws SQLException { ResultSet rs; Statement st = null; try { st = connection.createStatement(); log.debug(sql); rs = st.executeQuery(sql); } finally { if (st != null) { st.close(); } } return rs; } Due to this reason, we cannot look in to the result set within the integration test code which is a requirement for this specific test case of dbreport mediator. ResultSet rs = mySqlDatabaseManager.executeQuery("SELECT price from company WHERE name = 'WSO2'"); while (rs.next()) { price = Double.toString(rs.getDouble("price")); } In the above code, it fails when trying to call the rs.next() since the result set is already closed. WDYT? [1] http://docs.oracle.com/javase/7/docs/api/java/sql/Statement.html#executeQuery%28java.lang.String%29 Thanks, Chanaka -- -- Chanaka Fernando Technical Lead WSO2, Inc.; http://wso2.com lean.enterprise.middleware mobile: +94 773337238 Blog : http://soatutorials.blogspot.com LinkedIn:http://www.linkedin.com/pub/chanaka-fernando/19/a20/5b0 Twitter:https://twitter.com/chanakaudaya Wordpress:http://chanakaudaya.wordpress.com
_______________________________________________ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev