Package org.apache.activemq.command

Examples of org.apache.activemq.command.XATransactionId


        // Setup the consumer and receive the message.
        ConsumerInfo consumerInfo = createConsumerInfo(sessionInfo, destination);
        connection.send(consumerInfo);

        // Begin the transaction.
        XATransactionId txid = createXATransaction(sessionInfo);
        connection.send(createBeginTransaction(connectionInfo, txid));
        for( int i=0; i < 4 ;i ++ ) {
            Message m = receiveMessage(connection);
            assertNotNull(m);
            MessageAck ack = createAck(consumerInfo, m, 1, MessageAck.STANDARD_ACK_TYPE);
View Full Code Here


        // Setup the consumer and receive the message.
        ConsumerInfo consumerInfo = createConsumerInfo(sessionInfo, destination);
        connection.send(consumerInfo);

        // Begin the transaction.
        XATransactionId txid = createXATransaction(sessionInfo);
        connection.send(createBeginTransaction(connectionInfo, txid));
        for( int i=0; i < 4 ;i ++ ) {
            Message m = receiveMessage(connection);
            assertNotNull(m);
            MessageAck ack = createAck(consumerInfo, m, 1, MessageAck.STANDARD_ACK_TYPE);
View Full Code Here

        DataOutputStream os = new DataOutputStream(baos);
        os.writeLong(++txGenerator);
        os.close();
        byte[] bs = baos.toByteArray();
       
        XATransactionId xid = new XATransactionId();
        xid.setBranchQualifier(bs);
        xid.setGlobalTransactionId(bs);
        xid.setFormatId(55);
        return xid;
    }
View Full Code Here

        for (Iterator iter = xaTransactions.values().iterator(); iter.hasNext();) {
            Transaction tx = (Transaction) iter.next();
            if( tx.isPrepared() )
                txs.add(tx.getTransactionId());
        }
        XATransactionId rc[] = new XATransactionId[txs.size()];
        txs.toArray(rc);
        return rc;
    }
View Full Code Here

        if( log.isDebugEnabled() )
            log.debug("Prepare: "+xid);

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

        try {
            TransactionInfo info = new TransactionInfo(getConnectionId(), x, TransactionInfo.PREPARE);
           
View Full Code Here

    if( log.isDebugEnabled() )
            log.debug("Rollback: "+xid);

        // We allow interleaving multiple transactions, so
        // we don't limit rollback to the associated xid.
        XATransactionId x;
        if (xid==null) {
            throw new XAException(XAException.XAER_PROTO);
        }       
        if (equals(associatedXid, xid)) {
            // I think this can happen even without an end(xid) call. Need to
            // check spec.
            x = (XATransactionId) transactionId;
        } else {
            x = new XATransactionId(xid);
        }

        try {
      this.connection.checkClosedOrFailed();
      this.connection.ensureConnectionInfoSent();
View Full Code Here

        if( log.isDebugEnabled() )
            log.debug("Commit: "+xid);

        // We allow interleaving multiple transactions, so
        // we don't limit commit to the associated xid.
        XATransactionId x;
        if (xid==null || (equals(associatedXid, xid)) ) {
            // should never happen, end(xid,TMSUCCESS) must have been previously
            // called
            throw new XAException(XAException.XAER_PROTO);
        } else {
            x = new XATransactionId(xid);
        }


        try {
      this.connection.checkClosedOrFailed();
View Full Code Here

        if( log.isDebugEnabled() )
            log.debug("Forget: "+xid);

        // We allow interleaving multiple transactions, so
        // we don't limit forget to the associated xid.
        XATransactionId x;
        if (xid==null) {
            throw new XAException(XAException.XAER_PROTO);
        }       
        if (equals(associatedXid, xid)) {
            // TODO determine if this can happen... I think not.
            x = (XATransactionId) transactionId;
        } else {
            x = new XATransactionId(xid);
        }

        TransactionInfo info = new TransactionInfo(getConnectionId(), x, TransactionInfo.FORGET);
       
        try {
View Full Code Here

    }

      if (xid != null) {
            // associate
            associatedXid = xid;
            transactionId = new XATransactionId(xid);
           
            TransactionInfo info = new TransactionInfo(connectionId,transactionId,TransactionInfo.BEGIN);
            try {
                this.connection.asyncSendPacket(info);
                if( log.isDebugEnabled() )
View Full Code Here

    private void assertTransactionGoneFromFailoverState(
            ActiveMQXAConnection connection1, Xid tid) throws Exception {
       
        FailoverTransport transport = (FailoverTransport) connection1.getTransport().narrow(FailoverTransport.class);
        TransactionInfo info = new TransactionInfo(connection1.getConnectionInfo().getConnectionId(), new XATransactionId(tid), TransactionInfo.COMMIT_ONE_PHASE);
        assertNull("transaction shold not exist in the state tracker",
                transport.getStateTracker().processCommitTransactionOnePhase(info));
    }
View Full Code Here

TOP

Related Classes of org.apache.activemq.command.XATransactionId

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.