zoukankan      html  css  js  c++  java
  • Spark研究笔记6:重要的工厂类SessionManager(原创) CVT

    SessionManager负责xmppconnection 连接会话处理比如处理连接错误添加会议监听检索用户连接,等。

    SessionManager实现了接口ConnectionListener,ConnectionListener的定义:

    public interface ConnectionListener {

        public void connectionClosed();

        public void connectionClosedOnError(Exception e);
       
        public void reconnectingIn(int seconds);

        public void reconnectionSuccessful();

        public void reconnectionFailed(Exception e);
    }

    可以看出,ConnectionListener定义了关闭、重连、失败等操作。

    SessionManagersession初始化,

    /**
         * Initializes session.
         *
         * @param connection the XMPPConnection used in this session.
         * @param username   the agents username.
         * @param password   the agents password.
         */
        public void initializeSession(XMPPConnection connection, String username, String password) {
            this.connection = connection;
            this.username = username;
            this.password = password;
            this.userBareAddress = StringUtils.parseBareAddress(connection.getUser());
    
            // create workgroup session
            personalDataManager = new PrivateDataManager(getConnection());
    
            // Discover items
            discoverItems();
    
    
            ProviderManager.getInstance().addExtensionProvider("event", "http://jabber.org/protocol/disco#info", new Features.Provider());
        }

    设置discoverItems ,DiscoverItems 是一个IQ包,用于请求和接受相关 XMPP 实体,另外,它能被寻址查询,比如通过JID,或者节点名。

    /**
         * Does the initial service discovery.
         */
        private void discoverItems() {
            ServiceDiscoveryManager disco = ServiceDiscoveryManager.getInstanceFor(SparkManager.getConnection());
            try {
                discoverItems = disco.discoverItems(SparkManager.getConnection().getServiceName());
            }
            catch (XMPPException e) {
                Log.error(e);
                discoverItems = new DiscoverItems();
            }
        }

     

  • 相关阅读:
    大数据学习操作笔记
    每日总结
    每日总结
    每日总结
    每日总结
    每日总结
    每日总结
    jstl标签,c:foreach无效的问题
    阅读笔记
    《高效能人士的7个习惯》
  • 原文地址:https://www.cnblogs.com/openfire/p/3047614.html
Copyright © 2011-2022 走看看