Package org.apache.qpid.server.txn

Examples of org.apache.qpid.server.txn.TransactionalContext


            }


            // Deliver these messages out of the transaction as their delivery was never
            // part of the transaction only the receive.
            TransactionalContext deliveryContext;
            if (!(_txnContext instanceof NonTransactionalContext))
            {

                deliveryContext =
                            new NonTransactionalContext(_messageStore, _storeContext, this, _returnMessages);

            }
            else
            {
                deliveryContext = _txnContext;
            }

            if (!unacked.isQueueDeleted())
            {
                // Redeliver the messages to the front of the queue
                deliveryContext.requeue(unacked);
                // Deliver increments the message count but we have already deliverted this once so don't increment it again
                // this was because deliver did an increment changed this.
            }
            else
            {
View Full Code Here


            }
        }

        // Deliver these messages out of the transaction as their delivery was never
        // part of the transaction only the receive.
        TransactionalContext deliveryContext;
        if (!(_txnContext instanceof NonTransactionalContext))
        {

            deliveryContext =
                        new NonTransactionalContext(_messageStore, _storeContext, this, _returnMessages);
        }
        else
        {
            deliveryContext = _txnContext;
        }

        // Process Messages to Requeue at the front of the queue
        for (Map.Entry<Long, QueueEntry> entry : msgToRequeue.entrySet())
        {
            QueueEntry message = entry.getValue();
            long deliveryTag = entry.getKey();
           
            message.release();
            message.setRedelivered(true);

            deliveryContext.requeue(message);

            _unacknowledgedMessageMap.remove(deliveryTag);
        }
    }
View Full Code Here

    private IncomingMessage createMessage(String s) throws AMQException
    {
        MessagePublishInfo info = new PublishInfo(new AMQShortString(s));

        TransactionalContext trancontext = new NonTransactionalContext(_store, _context, null,
                                                                       new LinkedList<RequiredDeliveryException>()
        );

        IncomingMessage message = new IncomingMessage(0L, info, trancontext,_protocolSession);
        message.setContentHeaderBody( new ContentHeaderBody());
View Full Code Here

        // we must create a new map since all the messages will get a new delivery tag when they are redelivered
        Collection<UnacknowledgedMessage> messagesToBeDelivered = _unacknowledgedMessageMap.cancelAllMessages();

        // Deliver these messages out of the transaction as their delivery was never
        // part of the transaction only the receive.
        TransactionalContext deliveryContext = null;

        if (!messagesToBeDelivered.isEmpty())
        {
            if (_log.isInfoEnabled())
            {
                _log.info("Requeuing " + messagesToBeDelivered.size() + " unacked messages. for " + toString());
            }

            if (!(_txnContext instanceof NonTransactionalContext))
            {
                // if (_nonTransactedContext == null)
                {
                    _nonTransactedContext =
                            new NonTransactionalContext(_messageStore, _storeContext, this, _returnMessages, _browsedAcks);
                }

                deliveryContext = _nonTransactedContext;
            }
            else
            {
                deliveryContext = _txnContext;
            }
        }

        for (UnacknowledgedMessage unacked : messagesToBeDelivered)
        {
            if (!unacked.isQueueDeleted())
            {
                // Ensure message is released for redelivery
                unacked.entry.release();

                // Mark message redelivered
                unacked.getMessage().setRedelivered(true);

                // Deliver Message
                deliveryContext.deliver(unacked.entry, false);

                // Should we allow access To the DM to directy deliver the message?
                // As we don't need to check for Consumers or worry about incrementing the message count?
                // unacked.queue.getDeliveryManager().deliver(_storeContext, unacked.queue.getName(), unacked.message, false);
            }
View Full Code Here

            // Mark message redelivered
            unacked.getMessage().setRedelivered(true);

            // Deliver these messages out of the transaction as their delivery was never
            // part of the transaction only the receive.
            TransactionalContext deliveryContext;
            if (!(_txnContext instanceof NonTransactionalContext))
            {
                // if (_nonTransactedContext == null)
                {
                    _nonTransactedContext =
                            new NonTransactionalContext(_messageStore, _storeContext, this, _returnMessages, _browsedAcks);
                }

                deliveryContext = _nonTransactedContext;
            }
            else
            {
                deliveryContext = _txnContext;
            }

            if (!unacked.isQueueDeleted())
            {
                // Redeliver the messages to the front of the queue
                deliveryContext.deliver(unacked.entry, true);
                // Deliver increments the message count but we have already deliverted this once so don't increment it again
                // this was because deliver did an increment changed this.
            }
            else
            {
View Full Code Here

            }
        }

        // Deliver these messages out of the transaction as their delivery was never
        // part of the transaction only the receive.
        TransactionalContext deliveryContext;
        if (!(_txnContext instanceof NonTransactionalContext))
        {
            if (_nonTransactedContext == null)
            {
                _nonTransactedContext =
                        new NonTransactionalContext(_messageStore, _storeContext, this, _returnMessages, _browsedAcks);
            }

            deliveryContext = _nonTransactedContext;
        }
        else
        {
            deliveryContext = _txnContext;
        }

        // Process Messages to Requeue at the front of the queue
        for (UnacknowledgedMessage message : msgToRequeue)
        {
            message.entry.release();
            message.entry.setRedelivered(true);

            deliveryContext.deliver(message.entry, true);

            _unacknowledgedMessageMap.remove(message.deliveryTag);
        }
    }
View Full Code Here

        publish.exchange = new NullExchange().getName();
        ContentHeaderBody header = new ContentHeaderBody();
        List<ContentBody> body = new ArrayList<ContentBody>();
        MessageStore messageStore = new SkeletonMessageStore();
        // channel can be null since it is only used in ack processing which does not apply to this test
        TransactionalContext txContext = new NonTransactionalContext(messageStore, null,
                                                                     new LinkedList<RequiredDeliveryException>());
        body.add(new ContentBody());
        MessageHandleFactory factory = new MessageHandleFactory();
        for (int i = 0; i < count; i++)
        {
View Full Code Here

        publishMessages(count, false);
    }

    private void publishMessages(int count, boolean persistent) throws AMQException
    {
        TransactionalContext txnContext = new NonTransactionalContext(_messageStore, _storeContext, null,
                                                                      new LinkedList<RequiredDeliveryException>(),
                                                                      new HashSet<Long>());
        MessageHandleFactory factory = new MessageHandleFactory();
        for (int i = 1; i <= count; i++)
        {
View Full Code Here

        private final List<Long> _unacked;
        private StoreContext _storeContext = new StoreContext();

        Scenario(int messageCount, List<Long> acked, List<Long> unacked)
        {
            TransactionalContext txnContext = new NonTransactionalContext(new TestableMemoryMessageStore(),
                                                                          _storeContext, null,
                                                                          new LinkedList<RequiredDeliveryException>(),
                                                                          new HashSet<Long>());
            for (int i = 0; i < messageCount; i++)
            {
View Full Code Here

    private AMQMessage createMessage(String s) throws AMQException
    {
        MessagePublishInfo info = new PublishInfo(new AMQShortString(s));

        TransactionalContext trancontext = new NonTransactionalContext(_store, _context, null,
                                                                       new LinkedList<RequiredDeliveryException>(),
                                                                       new HashSet<Long>());

        AMQMessage message = new AMQMessage(0L, info, trancontext);
        message.setContentHeaderBody(new ContentHeaderBody());
View Full Code Here

TOP

Related Classes of org.apache.qpid.server.txn.TransactionalContext

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.