Examples of RangeSet


Examples of org.apache.qpid.transport.RangeSet

     * @throws FailoverException
     */
    public void sendRecover() throws AMQException, FailoverException
    {
        // release all unacked messages
        RangeSet all = RangeSetFactory.createRangeSet();
        RangeSet delivered = gatherRangeSet(getUnacknowledgedMessageTags());
        RangeSet prefetched = gatherRangeSet(getPrefetchedMessageTags());
        for (Iterator<Range> deliveredIter = delivered.iterator(); deliveredIter.hasNext();)
        {
            Range range = deliveredIter.next();
            all.add(range);
        }
        for (Iterator<Range> prefetchedIter = prefetched.iterator(); prefetchedIter.hasNext();)
        {
            Range range = prefetchedIter.next();
            all.add(range);
        }
        flushProcessed(all, false);
View Full Code Here

Examples of org.apache.qpid.transport.RangeSet

        sync();
    }

    private RangeSet gatherRangeSet(ConcurrentLinkedQueue<Long> messageTags)
    {
        RangeSet ranges = RangeSetFactory.createRangeSet();
        while (true)
        {
            Long tag = messageTags.poll();
            if (tag == null)
            {
                break;
            }

            ranges.add(tag.intValue());
        }

        return ranges;
    }
View Full Code Here

Examples of org.apache.qpid.transport.RangeSet

     * @param requeue     always true
     */
    public void rejectMessage(long deliveryTag, boolean requeue)
    {
        // The value of requeue is always true
        RangeSet ranges = RangeSetFactory.createRangeSet();
        ranges.add((int) deliveryTag);
        flushProcessed(ranges, false);
        if (requeue)
        {
            getQpidSession().messageRelease(ranges);
        }
View Full Code Here

Examples of org.apache.qpid.transport.RangeSet

        dest.setRoutingKey(new AMQShortString(dest.getSubject()));
    }

    protected void acknowledgeImpl()
    {
        RangeSet ranges = gatherRangeSet(getUnacknowledgedMessageTags());

        if(ranges.size() > 0 )
        {
            messageAcknowledge(ranges, true);
            getQpidSession().sync();
        }
    }
View Full Code Here

Examples of org.apache.qpid.transport.RangeSet

        {
            List<Long> tags = consumer.drainReceiverQueueAndRetrieveDeliveryTags();
            getPrefetchedMessageTags().addAll(tags);
        }

        RangeSet delivered = gatherRangeSet(getUnacknowledgedMessageTags());
    RangeSet prefetched = gatherRangeSet(getPrefetchedMessageTags());
    RangeSet all = RangeSetFactory.createRangeSet(delivered.size()
          + prefetched.size());

    for (Iterator<Range> deliveredIter = delivered.iterator(); deliveredIter.hasNext();)
    {
      Range range = deliveredIter.next();
      all.add(range);
    }

    for (Iterator<Range> prefetchedIter = prefetched.iterator(); prefetchedIter.hasNext();)
    {
      Range range = prefetchedIter.next();
      all.add(range);
    }

    flushProcessed(all, false);
    getQpidSession().messageRelease(delivered,Option.SET_REDELIVERED);
    getQpidSession().messageRelease(prefetched);
View Full Code Here

Examples of org.apache.qpid.transport.RangeSet

                                      });
    }

    public RangeSet acquire(RangeSet transfers)
    {
        RangeSet acquired = new RangeSet();

        if(!_messageDispositionListenerMap.isEmpty())
        {
            Iterator<Integer> unacceptedMessages = _messageDispositionListenerMap.keySet().iterator();
            Iterator<Range> rangeIter = transfers.iterator();

            if(rangeIter.hasNext())
            {
                Range range = rangeIter.next();

                while(range != null && unacceptedMessages.hasNext())
                {
                    int next = unacceptedMessages.next();
                    while(gt(next, range.getUpper()))
                    {
                        if(rangeIter.hasNext())
                        {
                            range = rangeIter.next();
                        }
                        else
                        {
                            range = null;
                            break;
                        }
                    }
                    if(range != null && range.includes(next))
                    {
                        MessageDispositionChangeListener changeListener = _messageDispositionListenerMap.get(next);
                        if(changeListener != null && changeListener.acquire())
                        {
                            acquired.add(next);
                        }
                    }


                }
View Full Code Here

Examples of org.apache.qpid.transport.RangeSet

     * @throws FailoverException
     */
    public void sendRecover() throws AMQException, FailoverException
    {
        // release all unack messages
        RangeSet ranges = new RangeSet();
        while (true)
        {
            Long tag = _unacknowledgedMessageTags.poll();
            if (tag == null)
            {
                break;
            }
            ranges.add((int) (long) tag);
        }
        getQpidSession().messageRelease(ranges, Option.SET_REDELIVERED);
        // We need to sync so that we get notify of an error.
        getQpidSession().sync();
        getCurrentException();
View Full Code Here

Examples of org.apache.qpid.transport.RangeSet

     * @param requeue     always true
     */
    public void rejectMessage(long deliveryTag, boolean requeue)
    {
        // The value of requeue is always true
        RangeSet ranges = new RangeSet();
        ranges.add((int) deliveryTag);
        getQpidSession().messageRelease(ranges, Option.SET_REDELIVERED);
        //I don't think we need to sync
    }
View Full Code Here

Examples of org.apache.qpid.transport.RangeSet

                                    public void onMessage(Message message)
                                    {
                                        System.out.println("--------Message Received--------");
                                        System.out.println(message.toString());
                                        System.out.println("--------/Message Received--------");
                                        RangeSet ack = new RangeSet();
                                        ack.add(message.getMessageTransferId(),message.getMessageTransferId());
                                        session.messageAcknowledge(ack, true);
                                    }

                                 }),
                                 null);
View Full Code Here

Examples of org.apache.qpid.transport.RangeSet

     * @throws FailoverException
     */
    public void sendRecover() throws AMQException, FailoverException
    {
        // release all unack messages
        RangeSet ranges = new RangeSet();
        while (true)
        {
            Long tag = _unacknowledgedMessageTags.poll();
            if (tag == null)
            {
                break;
            }
            ranges.add((int) (long) tag);
        }
        getQpidSession().messageRelease(ranges, Option.SET_REDELIVERED);
        // We need to sync so that we get notify of an error.
        getQpidSession().sync();
        getCurrentException();
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.