我試圖調用存儲過程3次。當我在代碼下運行時,最後一次調用存儲過程的數據只顯示在resultSet.getRows()
之內。前兩次調用存儲過程的數據不會出現在resultSet中。以後是我的代碼。難道我做錯了什麼。誰能幫忙?數據沒有得到聚合在java rxObservable的resultSet中
String currentPeriod = String.format("{call %s.testProc(?)}", params.getJsonObject("databaseInfo").getString("dbName"));
String priorPeriod = String.format("{call %s.testProc(?)}", params.getJsonObject("databaseInfo").getString("dbName"));
String todayPeriod = String.format("{call %s.testProc(?)}", params.getJsonObject("databaseInfo").getString("dbName"));
JsonArray jsonArray = new JsonArray();
database.dbObject().getConnectionObservable().subscribe(
connection -> {
Observable<ResultSet> resultSetObservable = connection.callWithParamsObservable(currentPeriod, new JsonArray().add(params.getString("testParams")),jsonArray).
flatMap(result -> connection.callWithParamsObservable(priorPeriod, new JsonArray().add(params.getString("testParams")), jsonArray).
flatMap(result -> connection.callWithParamsObservable(todayPeriod, new JsonArray().add(params.getString("testParams")),jsonArray);
resultSetObservable.subscribe(resultSet -> {
handler.handle(ReportUtils.parseSQLResult(resultSet.getRows()));
},error -> {
error.printStackTrace();
},connection::close);
},err -> {
err.printStackTrace();
}
);
很酷。通過計算器規則,如果你從我的解決方案中得到答案,你應該接受我的答案:) –