Mercurial > dive4elements > framework
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(); |