@Override public void run() { journalLock.readLock().lock(); final JournalTransaction tx = getTransactionInfo(txID); try { tx.checkErrorCondition(); JournalInternalRecord updateRecordTX = new JournalAddRecordTX( false, txID, id, recordType, persister, record ); JournalFile usedFile = appendRecord( updateRecordTX, false, false, tx, null ); if ( logger.isTraceEnabled() ) { logger.trace( "appendUpdateRecordTransactional::txID=" + txID + ",id=" + id + ", userRecordType=" + recordType + ", record = " + record + ", usedFile = " + usedFile ); } tx.addPositive( usedFile, id, updateRecordTX.getEncodeSize() ); } catch (Throwable e ) { logger.error("appendUpdateRecordTransactional:" + e.getMessage(), e ); setErrorCondition(null, tx, e ); } finally { journalLock.readLock().unlock(); } } });
@Override public void run() { journalLock.readLock().lock(); final JournalTransaction tx = getTransactionInfo(txID); try { if (tx != null) { tx.checkErrorCondition(); } JournalInternalRecord deleteRecordTX = new JournalDeleteRecordTX(txID, id, record); JournalFile usedFile = appendRecord(deleteRecordTX, false, false, tx, null); if (logger.isTraceEnabled()) { logger.trace("appendDeleteRecordTransactional::txID=" + txID + ", id=" + id + ", usedFile = " + usedFile); } tx.addNegative(usedFile, id); } catch (Throwable e) { logger.error("appendDeleteRecordTransactional:" + e, e); setErrorCondition(null, tx, e); } finally { journalLock.readLock().unlock(); } } });
@Override public void run() { journalLock.readLock().lock(); final JournalTransaction tx = getTransactionInfo(txID); try { if (tx != null) { tx.checkErrorCondition(); } JournalInternalRecord deleteRecordTX = new JournalDeleteRecordTX(txID, id, record); JournalFile usedFile = appendRecord(deleteRecordTX, false, false, tx, null); if (logger.isTraceEnabled()) { logger.trace("appendDeleteRecordTransactional::txID=" + txID + ", id=" + id + ", usedFile = " + usedFile); } tx.addNegative(usedFile, id); } catch (Throwable e) { logger.error("appendDeleteRecordTransactional:" + e, e); setErrorCondition(null, tx, e); } finally { journalLock.readLock().unlock(); } } });
@Override public void run() { journalLock.readLock().lock(); final JournalTransaction tx = getTransactionInfo(txID); try { if (tx != null) { tx.checkErrorCondition(); } JournalInternalRecord addRecord = new JournalAddRecordTX(true, txID, id, recordType, persister, record); JournalFile usedFile = appendRecord(addRecord, false, false, tx, null); if (logger.isTraceEnabled()) { logger.trace("appendAddRecordTransactional:txID=" + txID + ",id=" + id + ", userRecordType=" + recordType + ", record = " + record + ", usedFile = " + usedFile); } tx.addPositive(usedFile, id, addRecord.getEncodeSize()); } catch (Throwable e) { logger.error("appendAddRecordTransactional:" + e, e); setErrorCondition(null, tx, e); } finally { journalLock.readLock().unlock(); } } });
@Override public void run() { journalLock.readLock().lock(); final JournalTransaction tx = getTransactionInfo(txID); try { if (tx != null) { tx.checkErrorCondition(); } JournalInternalRecord addRecord = new JournalAddRecordTX(true, txID, id, recordType, persister, record); JournalFile usedFile = appendRecord(addRecord, false, false, tx, null); if (logger.isTraceEnabled()) { logger.trace("appendAddRecordTransactional:txID=" + txID + ",id=" + id + ", userRecordType=" + recordType + ", record = " + record + ", usedFile = " + usedFile); } tx.addPositive(usedFile, id, addRecord.getEncodeSize()); } catch (Throwable e) { logger.error("appendAddRecordTransactional:" + e, e); setErrorCondition(null, tx, e); } finally { journalLock.readLock().unlock(); } } });
@Override public void run() { journalLock.readLock().lock(); final JournalTransaction tx = getTransactionInfo(txID); try { tx.checkErrorCondition(); JournalInternalRecord updateRecordTX = new JournalAddRecordTX( false, txID, id, recordType, persister, record ); JournalFile usedFile = appendRecord( updateRecordTX, false, false, tx, null ); if ( logger.isTraceEnabled() ) { logger.trace( "appendUpdateRecordTransactional::txID=" + txID + ",id=" + id + ", userRecordType=" + recordType + ", record = " + record + ", usedFile = " + usedFile ); } tx.addPositive( usedFile, id, updateRecordTX.getEncodeSize() ); } catch (Throwable e ) { logger.error("appendUpdateRecordTransactional:" + e.getMessage(), e ); setErrorCondition(null, tx, e ); } finally { journalLock.readLock().unlock(); } } });
@Override public void run() { journalLock.readLock().lock(); final JournalTransaction tx = getTransactionInfo(txID); try { tx.checkErrorCondition(); JournalInternalRecord prepareRecord = new JournalCompleteRecordTX(TX_RECORD_TYPE.PREPARE, txID, transactionData); JournalFile usedFile = appendRecord(prepareRecord, true, sync, tx, callback); if (logger.isTraceEnabled()) { logger.trace("appendPrepareRecord::txID=" + txID + ", usedFile = " + usedFile); } tx.prepare(usedFile); } catch (ActiveMQShutdownException e) { result.fail(e); logger.error("appendPrepareRecord:" + e, e); } catch (Throwable e) { result.fail(e); logger.error("appendPrepareRecord:" + e, e); setErrorCondition(callback, tx, e); } finally { journalLock.readLock().unlock(); result.set(tx); } } });
@Override public void run() { journalLock.readLock().lock(); final JournalTransaction tx = getTransactionInfo(txID); try { tx.checkErrorCondition(); JournalInternalRecord prepareRecord = new JournalCompleteRecordTX(TX_RECORD_TYPE.PREPARE, txID, transactionData); JournalFile usedFile = appendRecord(prepareRecord, true, sync, tx, callback); if (logger.isTraceEnabled()) { logger.trace("appendPrepareRecord::txID=" + txID + ", usedFile = " + usedFile); } tx.prepare(usedFile); } catch (ActiveMQShutdownException e) { result.fail(e); logger.error("appendPrepareRecord:" + e, e); } catch (Throwable e) { result.fail(e); logger.error("appendPrepareRecord:" + e, e); setErrorCondition(callback, tx, e); } finally { journalLock.readLock().unlock(); result.set(tx); } } });
txcheck.checkErrorCondition(); tx.checkErrorCondition();