From 07e133055185a3ab7577dbbe9584ca2d8db8a009 Mon Sep 17 00:00:00 2001 From: Martin Goik <goik@hdm-stuttgart.de> Date: Thu, 30 Oct 2014 19:08:45 +0100 Subject: [PATCH] Allow for configurable isolation level --- .../java/de/hdm_stuttgart/mi/sda2/account/TransferDriver.java | 3 ++- .../java/de/hdm_stuttgart/mi/sda2/account/sql/DbHandler.java | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/Sda2/P/account/src/main/java/de/hdm_stuttgart/mi/sda2/account/TransferDriver.java b/Sda2/P/account/src/main/java/de/hdm_stuttgart/mi/sda2/account/TransferDriver.java index 7ff65a6f2..13abde372 100644 --- a/Sda2/P/account/src/main/java/de/hdm_stuttgart/mi/sda2/account/TransferDriver.java +++ b/Sda2/P/account/src/main/java/de/hdm_stuttgart/mi/sda2/account/TransferDriver.java @@ -1,5 +1,6 @@ package de.hdm_stuttgart.mi.sda2.account; +import java.sql.Connection; import java.sql.SQLException; import javafx.application.Application; @@ -69,7 +70,7 @@ public class TransferDriver extends Application { @Override public void start(final Stage primaryStage) throws SQLException { - dbh.connect(); + dbh.connect(Connection.TRANSACTION_SERIALIZABLE); primaryStage.setTitle("Account transfer!"); diff --git a/Sda2/P/account/src/main/java/de/hdm_stuttgart/mi/sda2/account/sql/DbHandler.java b/Sda2/P/account/src/main/java/de/hdm_stuttgart/mi/sda2/account/sql/DbHandler.java index 5fbfe3870..4807fa16a 100644 --- a/Sda2/P/account/src/main/java/de/hdm_stuttgart/mi/sda2/account/sql/DbHandler.java +++ b/Sda2/P/account/src/main/java/de/hdm_stuttgart/mi/sda2/account/sql/DbHandler.java @@ -21,14 +21,14 @@ public class DbHandler { return Conf.get("DbHandler.user") + '@' + Conf.get("DbHandler.jdbcUrl"); } - public boolean connect() { + public boolean connect(final int isolationLevel) { try { conn = DriverManager.getConnection( Conf.get("DbHandler.jdbcUrl"), Conf.get("DbHandler.user"), Conf.get("DbHandler.password")); conn.setAutoCommit(false); - conn.setTransactionIsolation(Connection.TRANSACTION_SERIALIZABLE); + conn.setTransactionIsolation(isolationLevel); updateAccount = conn.prepareStatement("UPDATE Account SET balance = balance + ? WHERE number = ?"); log.info("Connection '" + getConnectionName() + "' established" ); return true; -- GitLab