From c12887ac1284702c2249b278cbbde2b34ef367a1 Mon Sep 17 00:00:00 2001 From: felmer <felmer> Date: Mon, 26 Apr 2010 07:31:31 +0000 Subject: [PATCH] double rollback bug fixed SVN: 15629 --- .../etlserver/phosphonetx/ProtXMLUploader.java | 18 ++++++++++++++---- .../phosphonetx/ResultDataSetUploader.java | 7 +++++-- 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/etlserver/phosphonetx/ProtXMLUploader.java b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/etlserver/phosphonetx/ProtXMLUploader.java index 08a6c839369..2139de359ac 100644 --- a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/etlserver/phosphonetx/ProtXMLUploader.java +++ b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/etlserver/phosphonetx/ProtXMLUploader.java @@ -113,14 +113,24 @@ public class ProtXMLUploader implements IDataSetUploader public void commit() { - currentResultDataSetUploader.commit(); - currentResultDataSetUploader = null; + try + { + currentResultDataSetUploader.commit(); + } finally + { + currentResultDataSetUploader = null; + } } public void rollback() { - currentResultDataSetUploader.rollback(); - currentResultDataSetUploader = null; + try + { + currentResultDataSetUploader.rollback(); + } finally + { + currentResultDataSetUploader = null; + } } protected ResultDataSetUploader createUploader() diff --git a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/etlserver/phosphonetx/ResultDataSetUploader.java b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/etlserver/phosphonetx/ResultDataSetUploader.java index 09c66999f61..440b23de9aa 100644 --- a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/etlserver/phosphonetx/ResultDataSetUploader.java +++ b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/etlserver/phosphonetx/ResultDataSetUploader.java @@ -117,8 +117,11 @@ class ResultDataSetUploader extends AbstractHandler { try { - connection.rollback(); - connection.close(); + if (connection.isClosed() == false) + { + connection.rollback(); + connection.close(); + } } catch (SQLException ex) { throw CheckedExceptionTunnel.wrapIfNecessary(ex); -- GitLab