我有一個使用Spring JDBC訪問SQLite數據庫的DAO類。我已經在DAO方法本身上聲明瞭事務,因爲我的服務層從不在事務中組合查詢。春季交易及其與同步關鍵字的互動
因爲我並行使用一些工作線程,但只有一個線程可以同時更新SQLite數據庫,我使用序列化訪問DAO。
起初,我從我的服務類外部同步,例如:
synchronized (dao) {
dao.update(...);
}
然後,我想我也可以擺脫外部同步,並把在DAO方法本身:
public synchronized void update(...) {
// Spring JDBC calls here
}
奇怪的是:我的查詢現在需要兩倍的時間!
爲什麼?
自從將服務方法同步到DAO方法後,它們需要兩倍的時間? – MarianP 2012-02-22 09:02:42
@MarianP:正確。 – 2012-02-22 09:15:31