From 761c4164faac35fc34ade62ca7654573f2c07835 Mon Sep 17 00:00:00 2001 From: Peter Wu Date: Wed, 11 Jun 2014 13:46:17 +0200 Subject: Commit results early to avoid data loss on abort --- src/main/Analyzor.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'src/main/Analyzor.java') 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 -- cgit v1.2.1