@Override public boolean onUpdate(final int update, final StorageManager storageManager, PagingManager pagingManager) { int afterUpdate = numberOfMessages.addAndGet(-update); return internalCheckSize(storageManager, pagingManager, afterUpdate); }
@Override public void storeUpdate(final StorageManager storageManager, final PagingManager pagingManager, final Transaction tx) throws Exception { internalUpdatePageManager(storageManager, pagingManager, tx, 1); }
cursorInfo.getPgTXs().add(pageUpdate.pageTX); } else { PageTransactionInfoImpl pageTransactionInfo = new PageTransactionInfoImpl(); pageTransactionInfo.decode(buff); pageTransactionInfo.setRecordID(record.id); cursorInfo.getPgTXs().add(pageTransactionInfo.getTransactionID());
PageTransactionInfoImpl pageTransactionInfo = new PageTransactionInfoImpl(); pageTransactionInfo.decode(buff); pageTransactionInfo.setRecordID(record.id); if (!pageTransactionInfo.checkSize(null, null)) { invalidPGTx = pageTransactionInfo;
PageTransactionInfoImpl pageTransactionInfo = new PageTransactionInfoImpl(); pageTransactionInfo.decode(buffer); pageTransactionInfo.setRecordID(info.id);
private void installPageTransaction(final Transaction tx, final RouteContextList listCtx) throws Exception { FinishPageMessageOperation pgOper = (FinishPageMessageOperation) tx.getProperty(TransactionPropertyIndexes.PAGE_TRANSACTION); if (pgOper == null) { PageTransactionInfo pgTX = new PageTransactionInfoImpl(tx.getID()); pagingManager.addTransaction(pgTX); pgOper = new FinishPageMessageOperation(pgTX, storageManager, pagingManager); tx.putProperty(TransactionPropertyIndexes.PAGE_TRANSACTION, pgOper); tx.addOperation(pgOper); } pgOper.addStore(this); pgOper.pageTransaction.increment(listCtx.getNumberOfDurableQueues(), listCtx.getNumberOfNonDurableQueues()); return; }
cursorInfo.getPgTXs().add(pageUpdate.pageTX); } else { PageTransactionInfoImpl pageTransactionInfo = new PageTransactionInfoImpl(); pageTransactionInfo.decode(buff); pageTransactionInfo.setRecordID(record.id); cursorInfo.getPgTXs().add(pageTransactionInfo.getTransactionID());
@Test public void testAddAndRemoveMessages() { long id1 = RandomUtil.randomLong(); long id2 = RandomUtil.randomLong(); PageTransactionInfo trans = new PageTransactionInfoImpl(id2); trans.setRecordID(id1); // anything between 2 and 100 int nr1 = RandomUtil.randomPositiveInt() % 98 + 2; for (int i = 0; i < nr1; i++) { trans.increment(1, 0); } Assert.assertEquals(nr1, trans.getNumberOfMessages()); ActiveMQBuffer buffer = ActiveMQBuffers.fixedBuffer(trans.getEncodeSize()); trans.encode(buffer); PageTransactionInfo trans2 = new PageTransactionInfoImpl(id1); trans2.decode(buffer); Assert.assertEquals(id2, trans2.getTransactionID()); Assert.assertEquals(nr1, trans2.getNumberOfMessages()); }
pgTXs.add(pageUpdate.pageTX); } else { PageTransactionInfoImpl pageTransactionInfo = new PageTransactionInfoImpl(); pageTransactionInfo.decode(buff); pageTransactionInfo.setRecordID(info.id); pgTXs.add(pageTransactionInfo.getTransactionID());
PageTransactionInfo pageTransactionInfo = new PageTransactionInfoImpl();
@Override public boolean checkSize(StorageManager storageManager, PagingManager pagingManager) { return internalCheckSize(storageManager, pagingManager, numberOfMessages.get()); }
@Override public void reloadUpdate(final StorageManager storageManager, final PagingManager pagingManager, final Transaction tx, final int increment) throws Exception { UpdatePageTXOperation updt = internalUpdatePageManager(storageManager, pagingManager, tx, increment); updt.setStored(); }
pgTXs.add(pageUpdate.pageTX); } else { PageTransactionInfoImpl pageTransactionInfo = new PageTransactionInfoImpl(); pageTransactionInfo.decode(buff); pageTransactionInfo.setRecordID(info.id); pgTXs.add(pageTransactionInfo.getTransactionID());
PageTransactionInfoImpl txinfo = new PageTransactionInfoImpl(tx); sm.storePageTransaction(tx, txinfo); sm.commit(tx);