summaryrefslogtreecommitdiff
path: root/src/main/Analyzor.java
diff options
context:
space:
mode:
authorPeter Wu <peter@lekensteyn.nl>2014-06-11 13:46:17 +0200
committerPeter Wu <peter@lekensteyn.nl>2014-06-11 13:46:17 +0200
commit761c4164faac35fc34ade62ca7654573f2c07835 (patch)
treec5bc92ce4a6a581da389e0f9bd2a07b9c9e5e384 /src/main/Analyzor.java
parent36055c51726264c43110c2225ba9bdc2fdcce5f2 (diff)
downloadGoldfarmer-761c4164faac35fc34ade62ca7654573f2c07835.tar.gz
Commit results early to avoid data loss on abort
Diffstat (limited to 'src/main/Analyzor.java')
-rw-r--r--src/main/Analyzor.java13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/main/Analyzor.java b/src/main/Analyzor.java
index 2589e66..b2aad4d 100644
--- a/src/main/Analyzor.java
+++ b/src/main/Analyzor.java
@@ -2,6 +2,7 @@ package main;
import database.BrandAnalyzerInserter;
import database.BrandAnalyzerQueue;
+import database.ConnectionBuilder;
import database.NamedPreparedStatement;
import database.QueryUtils;
import java.io.File;
@@ -53,12 +54,16 @@ public class Analyzor {
* The persistent connection to the database.
*/
private final Connection connection;
+ private final ConnectionBuilder connBuilder;
/**
- * @param connection An open connection to the database.
+ * @param connBuilder A builder for new database connections.
+ * @throws java.sql.SQLException On failure to set up a new connection.
*/
- public Analyzor(Connection connection) {
- this.connection = connection;
+ public Analyzor(ConnectionBuilder connBuilder) throws SQLException {
+ // instantiate a default connection
+ this.connection = connBuilder.create();
+ this.connBuilder = connBuilder;
}
/**
@@ -301,7 +306,7 @@ public class Analyzor {
tweetResults = statement.executeQuery();
BrandAnalyzerQueue analyzer = new BrandAnalyzerQueue(tweetResults);
- BrandAnalyzerInserter inserter = new BrandAnalyzerInserter(connection, analyzer);
+ BrandAnalyzerInserter inserter = new BrandAnalyzerInserter(connBuilder.create(), analyzer);
ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(3);
// producer