Package org.cometd.server.AbstractServerTransport

Examples of org.cometd.server.AbstractServerTransport.Scheduler


    {
        if (isLocalSession())
            return;

        boolean remove = false;
        Scheduler scheduler = null;
        synchronized (getLock())
        {
            if (_intervalTimestamp == 0)
            {
                if (_maxServerInterval > 0 && now > _connectTimestamp + _maxServerInterval)
                {
                    _logger.info("Emergency sweeping session {}", this);
                    remove = true;
                }
            }
            else
            {
                if (now > _intervalTimestamp)
                {
                    if (_logger.isDebugEnabled())
                        _logger.debug("Sweeping session {}", this);
                    remove = true;
                }
            }
            if (remove)
                scheduler = _scheduler;
        }
        if (remove)
        {
            if (scheduler != null)
                scheduler.cancel();
            _bayeux.removeServerSession(this, true);
        }
    }
View Full Code Here


    public void setScheduler(AbstractServerTransport.Scheduler newScheduler)
    {
        if (newScheduler == null)
        {
            Scheduler oldScheduler;
            synchronized (getLock())
            {
                oldScheduler = _scheduler;
                if (oldScheduler != null)
                    _scheduler = null;
            }
            if (oldScheduler != null)
                oldScheduler.cancel();
        }
        else
        {
            Scheduler oldScheduler;
            boolean schedule = false;
            synchronized (getLock())
            {
                oldScheduler = _scheduler;
                _scheduler = newScheduler;
                if (hasNonLazyMessages() && _batch == 0)
                {
                    schedule = true;
                    if (newScheduler instanceof AbstractHttpTransport.HttpScheduler)
                        _scheduler = null;
                }
            }
            if (oldScheduler != null && oldScheduler != newScheduler)
                oldScheduler.cancel();
            if (schedule)
                newScheduler.schedule();
        }
    }
View Full Code Here

        }
    }

    public void flush()
    {
        Scheduler scheduler;
        synchronized (getLock())
        {
            _lazyTask.cancel();

            scheduler = _scheduler;

            if (scheduler != null)
            {
                if (scheduler instanceof AbstractHttpTransport.HttpScheduler)
                    _scheduler = null;
            }
        }
        if (scheduler != null)
        {
            scheduler.schedule();
            // If there is a scheduler, then it's a remote session
            // and we should not perform local delivery, so we return
            return;
        }
View Full Code Here

        }
    }

    public void cancelSchedule()
    {
        Scheduler scheduler;
        synchronized (getLock())
        {
            scheduler = _scheduler;
            if (scheduler != null)
                _scheduler = null;
        }
        if (scheduler != null)
            scheduler.cancel();
    }
View Full Code Here

TOP

Related Classes of org.cometd.server.AbstractServerTransport.Scheduler

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.