comparison artifact-database/src/main/java/org/dive4elements/artifactdatabase/db/SQLExecutor.java @ 541:3b1e48d22ce0

Experimentally let database cleaner and backend share the same sql executor.
author Sascha L. Teichmann <teichmann@intevation.de>
date Thu, 03 Sep 2015 15:34:07 +0200
parents 91b1435fb9ea
children 0e3ecf7cd461
comparison
equal deleted inserted replaced
540:91b1435fb9ea 541:3b1e48d22ce0
50 catch (SQLException sqle) {} 50 catch (SQLException sqle) {}
51 } 51 }
52 if (conn != null) { 52 if (conn != null) {
53 try { conn.close(); } 53 try { conn.close(); }
54 catch (SQLException sqle) {} 54 catch (SQLException sqle) {}
55 }
56 }
57
58 public boolean runWriteNoRollback() {
59 rwLock.writeLock().lock();
60 try {
61 DataSource dataSource = dbConnection.getDataSource();
62 try {
63 conn = dataSource.getConnection();
64 try {
65 conn.setAutoCommit(false);
66 return doIt();
67 }
68 catch (SQLException sqle) {
69 throw sqle;
70 }
71 }
72 catch (SQLException sqle) {
73 logger.error(sqle.getLocalizedMessage(), sqle);
74 }
75 finally {
76 close();
77 }
78 return false;
79 }
80 finally {
81 rwLock.writeLock().unlock();
55 } 82 }
56 } 83 }
57 84
58 public boolean runWrite() { 85 public boolean runWrite() {
59 rwLock.writeLock().lock(); 86 rwLock.writeLock().lock();

http://dive4elements.wald.intevation.org