openfire二次开发——openfire插件开发
1. 概述
openfire作为著名的开源项目,以及可插拔的插件功能,非常适合做二次开发,下面就模仿自带的插件目录结构,开发属于你自己的插件
2. HelloWorld插件开发
第一步,新建 source folder "src/plugins/helloworld/src/java",并在文件夹下创建包“ org.jivesoftware.openfire.plugin”以及HelloWorldPlugin类;如下图
![](https://img.haomeiwen.com/i4471549/fa196ab39f28a9f9.png)
当创建source folder之后会,在根目录的src/plugins下产生一个helloworld空文件夹,需要模仿其他插件新建这些文件,其中最重要的文件是plugin.xml,其他文件或者文件夹可以不创建
![](https://img.haomeiwen.com/i4471549/237df3bb59371c3c.png)
插件开发均需要实现Plugin接口,HelloWorldPlugin代码如下
package org.jivesoftware.openfire.plugin;
import java.io.File;
import org.jivesoftware.openfire.container.Plugin;
import org.jivesoftware.openfire.container.PluginManager;
public class HelloWorldPlugin implements Plugin {
@Override
public void initializePlugin(PluginManager manager, File pluginDirectory) {
System.out.println("helloworld插件启动------------------");
}
@Override
public void destroyPlugin() {
System.out.println("helloworld插件销毁------------------");
}
}
plugin.xml代码如下,PS:${plugin.name}与${plugin.description}的值是来自helloworld_i18n.properties属性文件中的
<?xml version="1.0" encoding="UTF-8"?>
<plugin>
<class>org.jivesoftware.openfire.plugin.HelloWorldPlugin</class>
<name>${plugin.name}</name>
<description>${plugin.description}</description>
<author>UncleBryan</author>
<version>1.0.0</version>
<date>4/12/2017</date>
</plugin>
- helloworld_i18n.properties
plugin.name=HelloWorld Plugin
plugin.description=\u4F60\u597D\u4E16\u754C
通过eclipse自带的ant工具打包插件,打包成功后会在work文件下生成helloworld.jar文件;当然也可通过命令行方式打包,此处不做介绍,请自行Google
![](https://img.haomeiwen.com/i4471549/512c8776982e60f7.png)
![](https://img.haomeiwen.com/i4471549/7bec878da39ae421.png)
![](https://img.haomeiwen.com/i4471549/ecb992eb170c14c0.png)
![](https://img.haomeiwen.com/i4471549/2f5217c55abe386d.png)
打包成功后重新启动openfire,效果如下图,到此openfire插件开发流程已经讲完
![](https://img.haomeiwen.com/i4471549/56954f80496912dc.png)
![](https://img.haomeiwen.com/i4471549/697ee5f196588f54.png)