/** * returns a java.sql.Connection object from the current broker * * @return ava.sql.Connection object from the current broker or null * @throws LookupException */ protected Connection getConnection() throws LookupException { if (broker != null) { return broker.serviceConnectionManager().getConnection(); } else { return null; } }
@Deprecated @Override protected Long getNextValSqlOjb(String sequenceName, PersistenceBroker persistenceBroker) { try { Connection connection = persistenceBroker.serviceConnectionManager().getConnection(); return getNextValSqlJdbc(sequenceName, connection); } catch (LookupException e) { throw new RuntimeException("Error retrieving next option id for action list from sequence.", e); } }
@Override protected Long getNextValSqlOjb(String sequenceName, PersistenceBroker persistenceBroker) { try { Connection connection = persistenceBroker.serviceConnectionManager().getConnection(); return getNextValSqlJdbc(sequenceName, connection); } catch (LookupException e) { throw new RuntimeException("Error retrieving next option id for action list from sequence.", e); } }
protected void setBatchMode(boolean mode) throws PersistenceException{ if (broker != null) { try { broker.serviceConnectionManager().setBatchMode(mode); } catch (PersistenceBrokerException e) { throw new PersistenceException("Could not set batch mode", e); } } else { throw new IllegalStateException("Called to set batch mode when broker not properly initialized!"); } }
public static Connection getCurrentSQLConnection() { try { return getOJBBroker().serviceConnectionManager().getConnection(); } catch (LookupException e) { throw new RuntimeException(e); } }
private static Connection getCurrentJdbcConnection() { try { return TransactionSupport.getOJBBroker().serviceConnectionManager().getConnection(); } catch (LookupException e) { throw new Error(e); } }
public static ActiveTransactionsRecord updateFromTxLogsOnDatabase(PersistenceBroker pb, ActiveTransactionsRecord record, boolean forUpdate) throws SQLException, LookupException { Connection conn = pb.serviceConnectionManager().getConnection(); // ensure that the connection is up-to-date conn.commit(); Statement stmt = null; ResultSet rs = null; try { stmt = conn.createStatement(); // read tx logs int maxTxNumber = record.transactionNumber; rs = stmt.executeQuery("SELECT OBJ_OID,OBJ_ATTR,TX_NUMBER FROM FF$TX_CHANGE_LOGS WHERE TX_NUMBER > " + (forUpdate ? (maxTxNumber - 1) : maxTxNumber) + " ORDER BY TX_NUMBER" + (forUpdate ? " FOR UPDATE" : "")); // if there are any results to be processed, process them if (rs.next()) { return processAlienTransaction(pb, rs, record); } else { return record; } } finally { if (rs != null) { rs.close(); } if (stmt != null) { stmt.close(); } } }
public String getPropertyPrefix() { SequenceDescriptor sd = getBroker().serviceConnectionManager().getConnectionDescriptor().getSequenceDescriptor(); String propertyPrefix = null; if (sd != null) { propertyPrefix = sd.getConfigurationProperties().getProperty(PROPERTY_PREFIX_ATTRIBUTE); } if (StringUtils.isBlank(propertyPrefix)) { propertyPrefix = DEFAULT_PROPERTY_PREFIX; } return propertyPrefix; } }
broker.beginTransaction(); Connection conn = broker.serviceConnectionManager().getConnection(); conn.setAutoCommit(false);
Connection c = broker.serviceConnectionManager().getConnection(); stmt = c.createStatement(); String sql = "INSERT INTO " + sequenceName + " VALUES (NULL);";
public static int initializeTransactionSystem() { // find the last committed transaction PersistenceBroker broker = null; try { broker = PersistenceBrokerFactory.defaultPersistenceBroker(); broker.beginTransaction(); Connection conn = broker.serviceConnectionManager().getConnection(); Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery("SELECT MAX(TX_NUMBER) FROM FF$TX_CHANGE_LOGS"); int maxTx = (rs.next() ? rs.getInt(1) : -1); broker.commitTransaction(); broker.close(); broker = null; stmt.close(); rs.close(); new CleanThread(maxTx).start(); new StatisticsThread().start(); return maxTx; } catch (Exception e) { throw new Error("Couldn't initialize the transaction system"); } finally { if (broker != null) { broker.close(); } } }
private boolean initializeServerRecord() { PersistenceBroker broker = null; try { broker = PersistenceBrokerFactory.defaultPersistenceBroker(); broker.beginTransaction(); Connection conn = broker.serviceConnectionManager().getConnection(); Statement stmt = conn.createStatement(); // delete previous record for this server and insert a new one stmt.executeUpdate("DELETE FROM FF$LAST_TX_PROCESSED WHERE SERVER = '" + server + "' or LAST_UPDATE < (NOW() - interval 3600 second)"); stmt.executeUpdate("INSERT INTO FF$LAST_TX_PROCESSED VALUES ('" + server + "'," + lastTxNumber + ",null)"); broker.commitTransaction(); return true; } catch (Exception e) { e.printStackTrace(); logger.error("Couldn't initialize the clean thread"); //throw new Error("Couldn't initialize the clean thread"); if (broker != null) { broker.abortTransaction(); } } finally { if (broker != null) { if (broker.isInTransaction()) { broker.abortTransaction(); } broker.close(); } } return false; }
try { broker = PersistenceBrokerFactory.defaultPersistenceBroker(); final Connection connection = broker.serviceConnectionManager().getConnection(); statement = connection.createStatement(); resultSet = statement.executeQuery(mekeQueryString());
public static String generateSqlUpdates(final URL[] modelUrls, final String db, final String dbUser, final String dbPass, String charset, boolean genDrops) throws SQLException, LookupException { FenixFramework.initialize(new JvstmOJBConfig() { { domainModelURLs = modelUrls; dbAlias = db; dbUsername = dbUser; dbPassword = dbPass; } }); final PersistenceBroker persistenceBroker = PersistenceBrokerFactory.defaultPersistenceBroker(); Connection connection = persistenceBroker.serviceConnectionManager().getConnection(); return generateSqlUpdates(FenixFramework.getDomainModel(), connection, charset, genDrops); }
protected void doCleanupAfterCompletion(Object transaction) { PersistenceBrokerTransactionObject txObject = (PersistenceBrokerTransactionObject) transaction; // Remove the persistence broker holder from the thread. TransactionSynchronizationManager.unbindResource(getPbKey()); txObject.getPersistenceBrokerHolder().clear(); // Remove the JDBC connection holder from the thread, if set. if (getDataSource() != null) { TransactionSynchronizationManager.unbindResource(getDataSource()); } PersistenceBroker pb = txObject.getPersistenceBrokerHolder().getPersistenceBroker(); try { Connection con = pb.serviceConnectionManager().getConnection(); DataSourceUtils.resetConnectionAfterTransaction(con, txObject.getPreviousIsolationLevel()); } catch (LookupException ex) { logger.info("Could not look up JDBC Connection of OJB PersistenceBroker", ex); } if (logger.isDebugEnabled()) { logger.debug("Closing OJB PersistenceBroker [" + pb + "] after transaction"); } releasePersistenceBroker(pb); }
protected void doCleanupAfterCompletion(Object transaction) { PersistenceBrokerTransactionObject txObject = (PersistenceBrokerTransactionObject) transaction; // Remove the persistence broker holder from the thread. TransactionSynchronizationManager.unbindResource(getPbKey()); txObject.getPersistenceBrokerHolder().clear(); // Remove the JDBC connection holder from the thread, if set. if (getDataSource() != null) { TransactionSynchronizationManager.unbindResource(getDataSource()); } PersistenceBroker pb = txObject.getPersistenceBrokerHolder().getPersistenceBroker(); try { Connection con = pb.serviceConnectionManager().getConnection(); DataSourceUtils.resetConnectionAfterTransaction(con, txObject.getPreviousIsolationLevel()); } catch (LookupException ex) { logger.info("Could not look up JDBC Connection of OJB PersistenceBroker", ex); } if (logger.isDebugEnabled()) { logger.debug("Closing OJB PersistenceBroker [" + pb + "] after transaction"); } releasePersistenceBroker(pb); }
protected void doCleanupAfterCompletion(Object transaction) { PersistenceBrokerTransactionObject txObject = (PersistenceBrokerTransactionObject) transaction; // Remove the persistence broker holder from the thread. TransactionSynchronizationManager.unbindResource(getPbKey()); txObject.getPersistenceBrokerHolder().clear(); // Remove the JDBC connection holder from the thread, if set. if (getDataSource() != null) { TransactionSynchronizationManager.unbindResource(getDataSource()); } PersistenceBroker pb = txObject.getPersistenceBrokerHolder().getPersistenceBroker(); try { Connection con = pb.serviceConnectionManager().getConnection(); DataSourceUtils.resetConnectionAfterTransaction(con, txObject.getPreviousIsolationLevel()); } catch (LookupException ex) { logger.info("Could not look up JDBC Connection of OJB PersistenceBroker", ex); } if (logger.isDebugEnabled()) { logger.debug("Closing OJB PersistenceBroker [" + pb + "] after transaction"); } releasePersistenceBroker(pb); }
txObject.setPersistenceBrokerHolder(new PersistenceBrokerHolder(pb)); Connection con = pb.serviceConnectionManager().getConnection(); Integer previousIsolationLevel = DataSourceUtils.prepareConnectionForTransaction(con, definition); txObject.setPreviousIsolationLevel(previousIsolationLevel);
txObject.setPersistenceBrokerHolder(new PersistenceBrokerHolder(pb)); Connection con = pb.serviceConnectionManager().getConnection(); Integer previousIsolationLevel = DataSourceUtils.prepareConnectionForTransaction(con, definition); txObject.setPreviousIsolationLevel(previousIsolationLevel);
txObject.setPersistenceBrokerHolder(new PersistenceBrokerHolder(pb)); Connection con = pb.serviceConnectionManager().getConnection(); Integer previousIsolationLevel = DataSourceUtils.prepareConnectionForTransaction(con, definition); txObject.setPreviousIsolationLevel(previousIsolationLevel);