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;

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



原文地址:https://www.cnblogs.com/huwf/p/4273342.html