亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? durableconsumerendpoint.java

?? 一個java方面的消息訂閱發送的源碼
?? JAVA
字號:
/**
 * Redistribution and use of this software and associated documentation
 * ("Software"), with or without modification, are permitted provided
 * that the following conditions are met:
 *
 * 1. Redistributions of source code must retain copyright
 *    statements and notices.  Redistributions must also contain a
 *    copy of this document.
 *
 * 2. Redistributions in binary form must reproduce the
 *    above copyright notice, this list of conditions and the
 *    following disclaimer in the documentation and/or other
 *    materials provided with the distribution.
 *
 * 3. The name "Exolab" must not be used to endorse or promote
 *    products derived from this Software without prior written
 *    permission of Exoffice Technologies.  For written permission,
 *    please contact info@exolab.org.
 *
 * 4. Products derived from this Software may not be called "Exolab"
 *    nor may "Exolab" appear in their names without prior written
 *    permission of Exoffice Technologies. Exolab is a registered
 *    trademark of Exoffice Technologies.
 *
 * 5. Due credit should be given to the Exolab Project
 *    (http://www.exolab.org/).
 *
 * THIS SOFTWARE IS PROVIDED BY EXOFFICE TECHNOLOGIES AND CONTRIBUTORS
 * ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT
 * NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
 * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL
 * EXOFFICE TECHNOLOGIES OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
 * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
 * OF THE POSSIBILITY OF SUCH DAMAGE.
 *
 * Copyright 2001-2005 (C) Exoffice Technologies Inc. All Rights Reserved.
 *
 * $Id: DurableConsumerEndpoint.java,v 1.2 2005/03/18 03:58:39 tanderson Exp $
 */
package org.exolab.jms.messagemgr;

import java.sql.Connection;
import java.util.Iterator;
import java.util.List;
import javax.jms.InvalidSelectorException;
import javax.jms.JMSException;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

import org.exolab.jms.client.JmsTopic;
import org.exolab.jms.persistence.DatabaseService;
import org.exolab.jms.persistence.SQLHelper;
import org.exolab.jms.scheduler.Scheduler;
import org.exolab.jms.server.JmsServerSession;
import org.exolab.jms.server.JmsServerSession;


/**
 * A {@link ConsumerEndpoint} for durable topic consumers.
 * The state of durable topic consumers is maintained across server
 * invocations by the persistent layer.
 *
 * @author <a href="mailto:jima@comware.com.au">Jim Alateras</a>
 * @author <a href="mailto:tma@netspace.net.au">Tim Anderson</a>
 * @version $Revision: 1.2 $ $Date: 2005/03/18 03:58:39 $
 */
public class DurableConsumerEndpoint
        extends AbstractTopicConsumerEndpoint {

    /**
     * The persistent name of the durable subscriber
     */
    private final String _name;

    /**
     * The logger
     */
    private static final Log _log
            = LogFactory.getLog(DurableConsumerEndpoint.class);

    /**
     * Create an durable consumer endpoint. This is a well-known endpoint which
     * can only be activated by one client at any one time.
     * <p/>
     * DurableConsumerEndpoints are always loaded in memory, whether they are
     * active or inactive. When they are inactive they simply process persistent
     * messages. Non-persistent message are ignored when the durable consumer is
     * inactive.
     *
     * @param consumerId the identity of this consumer
     * @param session    the owning session
     * @param topic      the topic to access
     * @param name       the well known name of the durable subscriber
     * @param selector   the message selector. May be <code>null</code>
     * @param noLocal    if true, inhibits the delivery of messages published by
     *                   its own connection.
     * @param scheduler  used to schedule asynchronous message delivery.
     * @throws InvalidSelectorException if the selector is invalid
     * @throws JMSException             if the destination caches can't be
     *                                  constructed
     */
    public DurableConsumerEndpoint(long consumerId, JmsServerSession session,
                                   JmsTopic topic, String name, String selector,
                                   boolean noLocal, Scheduler scheduler)
            throws InvalidSelectorException, JMSException {
        super(consumerId, session, topic, selector, noLocal, scheduler);
        _name = name;

        // call the persistence adapter to retrieve the state of this consumer
        Connection connection = null;
        try {
            connection = DatabaseService.getConnection();

            // remove expired messages
            DatabaseService.getAdapter().removeExpiredMessageHandles(
                    connection, _name);

            TopicDestinationCache cache = (TopicDestinationCache)
                    DestinationManager.instance().getDestinationCache(topic);
            // @todo - broken for wildcard subscriptions
            // getMessageHandles() needs to return all handles for a given
            // subscription name
            List handles = cache.getDurableMessageHandles(_name, connection);

            connection.commit();

            // iterate over each handle and add them to the list of messages
            // for the durable consumer
            Iterator iterator = handles.iterator();
            while (iterator.hasNext()) {
                MessageHandle handle = (MessageHandle) iterator.next();
                TopicConsumerMessageHandle consumer =
                        new TopicConsumerMessageHandle(handle, this);
                addMessage(consumer);
            }
        } catch (Exception exception) {
            SQLHelper.rollback(connection);
            String msg = "Failed to create durable consumer, name=" + name
                    + ", for topic=" + topic.getName();
            _log.error(msg, exception);
            throw new JMSException(msg + ": " + exception.getMessage());
        } finally {
            SQLHelper.close(connection);
        }

        init();
    }

    /**
     * Determines if this is a persistent or non-persistent consumer.
     * <p/>
     * If persistent, then the consumer is persistent accross subscriptions and
     * server restarts, and {@link #getPersistentId} returns a non-null value
     *
     * @return <code>true</code>
     */
    public boolean isPersistent() {
        return true;
    }

    /**
     * Returns the persistent identifier for this consumer.
     * <p/>
     * This is the identity of the consumer which is persistent across
     * subscriptions and server restarts.
     * <p/>
     * This implementation returns the consumer name.
     *
     * @return the persistent identifier for this consumer
     */
    public String getPersistentId() {
        return _name;
    }


}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
五月天激情综合| 国产精品伦理一区二区| 91麻豆精东视频| 国产成人午夜高潮毛片| 国产一区二区美女诱惑| 韩国av一区二区| 精品在线免费视频| 国产在线播精品第三| 国产一区欧美日韩| 粗大黑人巨茎大战欧美成人| 国产激情视频一区二区在线观看| 免费成人结看片| 国产最新精品免费| 成人亚洲精品久久久久软件| 成人性视频免费网站| 99久久99久久久精品齐齐| 成人免费毛片app| 91美女在线观看| 欧美综合色免费| 日韩午夜激情视频| 欧美国产乱子伦 | 韩日av一区二区| 国产久卡久卡久卡久卡视频精品| 国产91在线观看| 91亚洲午夜精品久久久久久| 欧美揉bbbbb揉bbbbb| 日韩写真欧美这视频| 国产清纯白嫩初高生在线观看91| 国产精品国产三级国产有无不卡 | 91在线观看美女| 欧美自拍偷拍午夜视频| 日韩欧美国产综合在线一区二区三区| 精品1区2区在线观看| 18欧美亚洲精品| 午夜精品久久久| 国产白丝网站精品污在线入口| 成人免费视频网站在线观看| 欧美影院午夜播放| 久久久亚洲欧洲日产国码αv| 亚洲欧美日韩国产手机在线| 日韩av电影免费观看高清完整版| 国产一区视频网站| 欧美人与性动xxxx| 国产精品看片你懂得| 日韩不卡免费视频| www.亚洲精品| 日韩免费视频一区二区| 一区二区三区国产豹纹内裤在线| 国产在线麻豆精品观看| 日本黄色一区二区| 国产日韩综合av| 美日韩一级片在线观看| 色综合久久中文综合久久牛| 精品入口麻豆88视频| 亚洲国产日产av| 成人aa视频在线观看| 精品国产一区二区三区不卡| 亚洲成av人片一区二区三区| 成人黄页在线观看| 久久久久久久久久久久久夜| 日本不卡在线视频| 日本丶国产丶欧美色综合| 中文字幕第一区综合| 麻豆成人91精品二区三区| 欧美午夜精品久久久| 1000精品久久久久久久久| 国产精品自产自拍| 久久午夜老司机| 美腿丝袜在线亚洲一区| 91精品国产综合久久久蜜臀图片 | 欧美一区二区三区色| 亚洲一线二线三线视频| 99国产精品久久久久久久久久久| 国产日韩在线不卡| 国产激情一区二区三区桃花岛亚洲| 日韩视频免费直播| 青青草一区二区三区| 日韩一区二区三区在线观看| 日韩av网站在线观看| 日韩欧美一卡二卡| 久久精品国产精品亚洲红杏| 日韩欧美卡一卡二| 黄色日韩网站视频| 精品盗摄一区二区三区| 国产一区二区日韩精品| 国产区在线观看成人精品 | 婷婷综合五月天| 在线成人免费视频| 久久66热re国产| 久久精品视频一区| 成人av在线资源| 亚洲自拍欧美精品| 欧美一区二区三区在线电影| 国产一区二区视频在线播放| 欧美—级在线免费片| 色中色一区二区| 日本不卡中文字幕| 欧美国产精品一区| 色欧美日韩亚洲| 免费的国产精品| 国产精品久久久久久久第一福利| 99久久久精品免费观看国产蜜| 亚洲精品国产精华液| 6080国产精品一区二区| 国产经典欧美精品| 一区二区三区在线不卡| 欧美一区二视频| 国产成人在线电影| 午夜不卡在线视频| 国产日韩成人精品| 欧美日韩极品在线观看一区| 国产精品一区二区久久精品爱涩 | 精品欧美乱码久久久久久1区2区| 国产一区二区三区四区在线观看| 国产精品久久久久久福利一牛影视 | 91麻豆精品国产自产在线| 极品尤物av久久免费看| 亚洲精品欧美二区三区中文字幕| 欧美高清dvd| 成人午夜电影小说| 久久精品国产一区二区三| 亚洲日本电影在线| 日韩精品一区二区三区中文精品| 97精品国产97久久久久久久久久久久| 亚洲va欧美va天堂v国产综合| 国产日韩综合av| 日韩欧美中文字幕公布| 一本大道av伊人久久综合| 国产福利一区二区三区视频在线| 亚洲一区欧美一区| 亚洲国产成人午夜在线一区| 日韩丝袜美女视频| 欧美特级限制片免费在线观看| 国产成人精品综合在线观看 | 久久网站热最新地址| 欧美午夜片在线看| zzijzzij亚洲日本少妇熟睡| 激情综合色综合久久| 午夜精品123| 亚洲午夜电影在线观看| 亚洲欧美乱综合| 18欧美乱大交hd1984| 国产精品天美传媒| 精品国产不卡一区二区三区| 日韩一区二区在线看片| 在线不卡的av| 7777精品伊人久久久大香线蕉 | 久久免费午夜影院| 日韩一区二区三区在线| 日韩一区二区三区在线| 欧美一区二区在线观看| 欧美电影免费观看高清完整版在| 欧美人与z0zoxxxx视频| 91精品国产综合久久久久久久| 色婷婷精品大在线视频| 91在线精品秘密一区二区| 99久久久久久| 91色porny在线视频| 色综合中文字幕国产| 成人一区二区在线观看| 成人视屏免费看| av成人免费在线观看| 色婷婷久久久综合中文字幕 | 欧美经典一区二区三区| 久久久99精品免费观看不卡| 国产视频一区不卡| 国产精品美女www爽爽爽| 最新日韩av在线| 亚洲福利视频一区| 奇米影视一区二区三区小说| 日本欧美一区二区三区乱码| 青青草成人在线观看| 国产乱色国产精品免费视频| 懂色av一区二区三区免费观看| 成人动漫一区二区| 欧美专区亚洲专区| 欧美tickling网站挠脚心| 国产欧美一区二区精品仙草咪| 中文字幕一区二区三区在线播放| 玉米视频成人免费看| 免费日本视频一区| 国产裸体歌舞团一区二区| av在线播放成人| 欧美日韩精品一二三区| 久久久一区二区三区捆绑**| 日韩一区在线播放| 蜜臀av在线播放一区二区三区| 国产福利精品一区二区| 欧美影院午夜播放| 久久久亚洲午夜电影| 亚洲国产va精品久久久不卡综合| 蓝色福利精品导航| 一本色道综合亚洲| 日韩欧美精品在线| 亚洲欧美日韩电影| 国产成人免费在线| 欧美男人的天堂一二区| 国产精品久久久久aaaa樱花| 污片在线观看一区二区| 成人av午夜影院|