我有下面的代碼,其中第一我創建隨需應變的數據庫連接,然後在多線程共享它。這工作正常。現在,我想知道是否有可能跟蹤使用此數據庫連接的所有線程是否已完成執行,以便關閉數據庫連接。任何關於如何實現這一點的指導都會有所幫助。監測線程執行
Connection connection = null;
Properties connectionProperties = getProperties();
for (int reqIdx = 0; reqIdx < requests.length(); reqIdx++) {
connection = DBonnection.getConnection(connectionProperties);
ConnectorRunner connectorRunner = null;
try {
connectorRunner = new ConnectorRunner(someConnector);
connectorRunner.setDBConnection(connection);
} catch (Exception e) {
e.printStackTrace();
}
executorService.execute(connectorRunner);
}
共享多個線程之間的單一dababase連接是一個壞,壞主意。你將如何處理交易?使用連接池。 –
借調@JBNizet,結帳的Apache DBCP https://commons.apache.org/proper/commons-dbcp/ – Anil
的連接需求基於用戶在運行時的特性,因此,我不能創建連接池。我正在共享連接,因爲線程將使用同步負載按順序使用連接。 – rufy