• OpenFire源码学习之二十六:Spark&Tinder


    因为这两块比较简单,内容也比较少。所以就放一块了。

    Spark

    这里的spark是指openfire的一个客户端,并非目前非常流行的大数据计算框架spark

    Spark页面图:

    Spark的源码构建

    Spark的源码构建和openfire都差不多。

    也都非常的简单。源码目录如下:

    Spark也是用ant来编译源码的

    源码启动类:

    Tinder

    Tinderopenfire官网对xmpp协议做的一个java对象封装。其中源码的内容也不多。下面是一张源码结构图:

    下面略略的看看里面的源码。首先看看Packet这个类。 位于org.xmpp.packet下。这里是xmpp消息包的基本属性配置。比如to、from、id、error等。他有三个大的分类,如图:

    IQ又生出了不通的类型。比如type

    public enum Type {
    
            /**
             * The IQ is a request for information or requirements.
             */
            get,
    
            /**
             * The IQ provides required data, sets new values, or
             * replaces existing values.
             */
            set,
    
            /**
             * The IQ is a response to a successful get or set request.
             */
            result,
    
            /**
             * An error has occurred regarding processing or delivery of a
             * previously-sent get or set.
             */
            error;
    
       }

    在之前,我有写过不同的消息类型比如“sgo”其实这之类的拓展都是基于修改这些包里面的类容就行了。

    关于JID的拓展

    private final String node;

    private final String domain;

    private final String resource;

    默认情况下有三个属性,如何添加新的属性就比较简单了吧。按照上面任意一个属性添加到相关的方法即可。



  • 相关阅读:
    Python自学之路-面试题
    k8s学习笔记之三:configmap和secret
    k8s学习笔记之二:Pod
    k8s学习笔记之四:使用kubeadm配置Ingress
    k8s学习笔记之一:使用kubeadm安装k8s集群
    HTTP content-type
    Json对象和Json字符串的区别
    .net 5+ 知新:【2】 .Net Framework 、.Net 、 .NET Standard的概念与区别
    Log4net和Nlog
    通过系统存储过程手动执行SQL Server中的Job
  • 原文地址:https://www.cnblogs.com/huwf/p/4273342.html
Copyright © 2020-2023  润新知