Package org.codehaus.activemq.message

Examples of org.codehaus.activemq.message.ActiveMQXid


            rs = s.executeQuery();

            while (rs.next()) {
                String xid = rs.getString(1);
                try {
                    list.add(new ActiveMQXid(xid));
                }
                catch (JMSException e) {
                    log.error("Failed to recover prepared transaction due to invalid xid: " + xid, e);
                }
            }
View Full Code Here


            while (rs.next()) {
                String id = rs.getString(1);
                byte data[] = this.getBinaryData(rs, 2);
                try {
                    ActiveMQXid xid = new ActiveMQXid(id);
                    Transaction transaction = XATransactionCommand.fromBytes(data);
                    transactionManager.loadTransaction(xid, transaction);
                }
                catch (Exception e) {
                    log.error("Failed to recover prepared transaction due to invalid xid: " + id, e);
View Full Code Here

            cursor = database.openCursor(BDbHelper.getTransaction(), cursorConfig);
            DatabaseEntry keyEntry = new DatabaseEntry();
            DatabaseEntry valueEntry = new DatabaseEntry();
            OperationStatus status = cursor.getFirst(keyEntry, valueEntry, LockMode.DEFAULT);
            while (status == OperationStatus.SUCCESS) {
                ActiveMQXid xid = extractXid(keyEntry);
                Transaction transaction = extractTransaction(valueEntry);
                transactionManager.loadTransaction(xid, transaction);
                status = cursor.getNext(keyEntry, valueEntry, LockMode.DEFAULT);
            }
            if (status != OperationStatus.NOTFOUND) {
View Full Code Here

    private void consumeXATransactionInfo(XATransactionInfo info) throws JMSException, XAException {
        if (info.getType() == XATransactionInfo.START) {
            this.brokerConnector.startTransaction(this, info.getXid());
        }
        else if (info.getType() == XATransactionInfo.XA_RECOVER) {
            ActiveMQXid rc[] = this.brokerConnector.getPreparedTransactions(this);
            // We will be sending our own receipt..
            info.setReceiptRequired(false);
            // Send the receipt..
            ResponseReceipt receipt = new ResponseReceipt();
            receipt.setId(this.packetIdGenerator.generateId());
View Full Code Here

        try {
            Tuple tuple = new Tuple();
            TupleBrowser iter = database.browse();
            while (iter.getNext(tuple)) {
                ActiveMQXid xid = (ActiveMQXid) tuple.getKey();
                Transaction transaction = (Transaction) tuple.getValue();
                transactionManager.loadTransaction(xid, transaction);
            }
        }
        catch (IOException e) {
View Full Code Here

        setupMocks();
        setupTxnCommand();
    }

    private void setupStubs() throws JMSException {
        stubXid = new ActiveMQXid("1:2:3");
        stubTxnTask = new Mock(TransactionTask.class);       
    }
View Full Code Here

        assertTrue("Should have returned an XATransactionCommend: " + value, value instanceof XATransactionCommand);
    }

    public void testXidSerialization() throws Exception {
        XidStub xidStub = new XidStub(new byte[]{1, 2, 3, 4, 5});
        ActiveMQXid xid = new ActiveMQXid(xidStub);

        byte[] data = serialize(xid);
        Object value = deserialize(data);

        assertEquals("deserialized object is not equal", xid, value);
View Full Code Here

        assertEquals("deserialized object is not equal", xid, value);
    }

    public void testXidEquals() throws Exception {
        XidStub xidStub = new XidStub(new byte[]{1, 2, 3, 4, 5});
        ActiveMQXid xid1 = new ActiveMQXid(xidStub);
        ActiveMQXid xid2 = new ActiveMQXid(xidStub);

        assertEquals("object hashes are not equal", xid1.hashCode(), xid2.hashCode());
        assertEquals("objects are not equal", xid1, xid2);
    }
View Full Code Here

        assertEquals("object hashes are not equal", xid1.hashCode(), xid2.hashCode());
        assertEquals("objects are not equal", xid1, xid2);
    }

    protected XATransactionCommand createXATranasction() throws JMSException {
        ActiveMQXid xid = new ActiveMQXid("01:23:45");
        XATransactionCommand answer = new XATransactionCommand(null, xid, null, null);
        answer.addPostCommitTask(new SendMessageTransactionTask(null, createMessage()));
        return answer;
    }
View Full Code Here

    public int prepare(Xid xid) throws XAException {

        // We allow interleaving multiple transactions, so
        // we don't limit prepare to the associated xid.
        ActiveMQXid x;
        //THIS SHOULD NEVER HAPPEN because end(xid, TMSUCCESS) should have been called first
        if (ActiveMQXid.equals(associatedXid,xid)) {
//            x = activeXid;
            throw new XAException(XAException.XAER_PROTO);
        } else {
            //TODO cache the known xids so we don't keep recreating this one??
            x = new ActiveMQXid(xid);
        }

        XATransactionInfo info = new XATransactionInfo();
        info.setId(this.packetIdGenerator.generateId());
        info.setXid(x);
View Full Code Here

TOP

Related Classes of org.codehaus.activemq.message.ActiveMQXid

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.