• XMPP即时通讯协议使用(五)——搭建简单的Openfire插件


    前言

    在开发Openfire插件前需要构建完成服务器源码编辑环境,具体操作步骤请参照Openfire服务器源码编译的了解。

    开发简单的Openfire插件

    1、已构建完成的Openfire源码结构如下:

    2、查看已有的插件结构,并生成自己的插件结构,转到Navigator视图下


    已有插件目录结构


    参照已有目录结构,创建自己的目录结构,在plugins目录邮件->New->Folder


    3、在新建的simplePlugin目录右键->New->Folder


    4、在切换至Package Explorer视图,在simplePlugin->src->java->右键->Build Path->Use as Sorurce Folder  


    结构如下:


    5、创建插件类实现Plugin接口,在initializePlugindestroyPlugin方法中,分别负责初始化插件和销毁插件

    package org.jivesoftware.openfire.plugin;
    
    import java.io.File;
    
    import org.jivesoftware.openfire.container.Plugin;
    import org.jivesoftware.openfire.container.PluginManager;
    
    public class SimplePlugin implements Plugin {
    
    	private static PluginManager pluginManager;
    
    	@Override
    	public void initializePlugin(PluginManager manager, File pluginDirectory) {
    		pluginManager = manager;
    		System.out.println("加载插件成功!");
    	}
    
    	@Override
    	public void destroyPlugin() {
    		System.out.println("销毁插件成功!");
    	}
    
    }
    

    6、从别的插件包下复制一个plugin.xml到simpleplugin文件夹下


    plugin.xml内容如下

    <?xml version="1.0" encoding="UTF-8"?>  
    <plugin>  
        <!--类的全包名-->  
        <class>org.jivesoftware.openfire.plugin.SimplePlugin</class>  
        <!--插件名称-->  
        <name>SimplePlugin</name>  
        <!--描述信息-->  
        <description>this is a SimplePlugin</description>  
        <!--作者信息-->  
        <author>Gm</author>  
        <!--版本信息-->  
        <version>1.0.0</version>  
        <!--创建、修改信息-->  
        <date>20/6/2017</date>  
        <!--最低兼容版本的openfire-->  
        <minServerVersion>4.2.3</minServerVersion>  
    </plugin>
    
    7、从Window->show view->Ant,打开Ant视图,在Ant视图中,右键添加ant builder

    8、在Ant视图中,展开Ant的节点,然后找到plugins,在pluins上右键Run As Ant Builder

    至此,插件开发编译完成,到openfire_src argetopenfireplugins下,找到生成的插件jar包,这就是生成的插件包,可以放在openfire服务器的plugins目录下,启动后就可以运行了


    补充:本机默认编码为GBK,编译插件的时候出现以下错误:编码UTF8的不可映射字符


    解决方案:


    在build.xml头添加encoding="GBK",将javac encoding="utf8"改为encoding="GBK"



  • 相关阅读:
    《vue.js2.0从入门到放弃》学习之路
    动画统计图
    超简单的走马灯效果
    关于css那些常用却有点记不住的属性
    圣杯布局跟双飞翼布局
    最简单的http服务器(C#)
    sql union用法和sql union all用法,sql union效率
    存储过程函数中如何定义表变量,删除表变量内容
    C# 通过分析netstat an所得信息 查看本机所监听的端口 及判断某端口是否可用
    Microsoft .NET Framework 各版可再发行组件包
  • 原文地址:https://www.cnblogs.com/gmhappy/p/9472413.html
Copyright © 2020-2023  润新知