1 package org.mmbase.storage.implementation.database; 2 3 import java.lang.reflect.Method ; 4 import java.sql.*; 5 import java.util.List ; 6 7 import org.mmbase.module.core.MMObjectNode; 8 import org.mmbase.core.CoreField; 9 import org.mmbase.util.logging.Logger; 10 import org.mmbase.util.logging.Logging; 11 import org.mmbase.module.database.MultiConnection; 12 13 public class InformixStorageManager extends DatabaseStorageManager { 14 private static final Logger log = Logging.getLoggerInstance(InformixStorageManager.class); 15 16 20 protected void releaseActiveConnection() { 21 if (!(inTransaction && factory.supportsTransactions()) && activeConnection != null) { 22 try { 23 activeConnection.setAutoCommit(true); 27 closeInformix(); 28 activeConnection.close(); 29 } catch (SQLException se) { 30 log.error("Failure when closing connection: " + se.getMessage()); 32 } 33 activeConnection = null; 34 } 35 } 36 37 private void closeInformix() { 38 Connection con = ((MultiConnection)activeConnection).getRealConnection(); 39 try { 40 Method scrub = Class.forName("com.informix.jdbc.IfxConnection").getMethod("scrubConnection", null); 41 scrub.invoke(con, null); 42 } catch (Exception e) { 43 log.error("Exception while calling releaseBlob(): " + e.getMessage()); 44 } 45 } 46 } 47 | Popular Tags |