Package org.apache.qpid.server.txn

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


        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 StoreContext _storeContext = new StoreContext();
    private AMQQueue _queue;

        Scenario(int messageCount, List<Long> acked, List<Long> unacked) throws Exception
        {
            TransactionalContext txnContext = new NonTransactionalContext(new TestMemoryMessageStore(),
                                                                          _storeContext, null,
                                                                          new LinkedList<RequiredDeliveryException>()
            );

            PropertiesConfiguration env = new PropertiesConfiguration();
            env.setProperty("name", "test");
            VirtualHost virtualHost = new VirtualHost(new VirtualHostConfiguration("test", env), null);
           
            _queue = AMQQueueFactory.createAMQQueueImpl(new AMQShortString("test"), false, null, false,
                    virtualHost, null);

            for (int i = 0; i < messageCount; i++)
            {
                long deliveryTag = i + 1;

                MessagePublishInfo info = new MessagePublishInfo()
                {

                    public AMQShortString getExchange()
                    {
                        return null;
                    }

                    public void setExchange(AMQShortString exchange)
                    {
                        //To change body of implemented methods use File | Settings | File Templates.
                    }

                    public boolean isImmediate()
                    {
                        return false;
                    }

                    public boolean isMandatory()
                    {
                        return false;
                    }

                    public AMQShortString getRoutingKey()
                    {
                        return null;
                    }
                };

                TestMessage message = new TestMessage(deliveryTag, i, info, txnContext.getStoreContext());
                _map.add(deliveryTag, _queue.enqueue(new StoreContext(), message));
            }
            _acked = acked;
            _unacked = unacked;
        }
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<QueueEntry> 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))
            {

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

        for (QueueEntry unacked : messagesToBeDelivered)
        {
            if (!unacked.isQueueDeleted())
            {
                // Mark message redelivered
                unacked.getMessage().setRedelivered(true);

                // Ensure message is released for redelivery
                unacked.release();

                // Deliver Message
                deliveryContext.requeue(unacked);

            }
            else
            {
                unacked.discard(_storeContext);
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;
            }

            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


            MessageHandleFactory messageHandleFactory = new MessageHandleFactory();
            long maxId = 1;

            TransactionalContext txnContext = new NonTransactionalContext(this, new StoreContext(), null, null);

            Statement stmt = conn.createStatement();
            ResultSet rs = stmt.executeQuery(SELECT_FROM_QUEUE_ENTRY);

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<QueueEntry> 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))
            {

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

        for (QueueEntry unacked : messagesToBeDelivered)
        {
            if (!unacked.isQueueDeleted())
            {
                // Mark message redelivered
                unacked.getMessage().setRedelivered(true);

                // Ensure message is released for redelivery
                unacked.release();

                // Deliver Message
                deliveryContext.requeue(unacked);

            }
            else
            {
                unacked.discard(_storeContext);
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;
            }

            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

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.