openfire 聊天記錄插件,太多人找這個插件,所以分享給大家
openfire源碼中的插件
我們找一個插件目錄看看,主要看看里面的結構,目錄結構很重要。因為我們將寫好的插件打成jar包后,打包的jar的目錄有一定規(guī)范結構,不能隨便建立其他目錄。
這是一個userservice的插件,在src/java中是我們的插件源代碼;web目錄中則是前端的頁面,其中web-custom.xml是配置當前插件UserServiceServlet配置;changelog.html是修改日志;logo_small.gif是插件圖標;plugin.xml是我們配置插件的文件
開發(fā)簡單插件
工程現在的目錄機構如下
1、 建立自己的插件類,SamplePlugin.java,里面簡單的寫點內容。
package com.hoo.server.plugin;
import java.io.File;
import org.jivesoftware.openfire.XMPPServer;
import org.jivesoftware.openfire.container.Plugin;
import org.jivesoftware.openfire.container.PluginManager;
/**
* <b>function:</b> openfire server plugin sample
* @author hoojo
* @createDate 2013-2-28 下午05:48:22
* @file SamplePlugin.java
* @package com.hoo.server.plugin
* @project OpenfirePlugin
* @blog http://blog.csdn.net/IBM_hoojo
* @email hoojo_@126.com
* @version 1.0
*/
public class SamplePlugin implements Plugin {
private XMPPServer server;
@Override
public void initializePlugin(PluginManager manager, File pluginDirectory) {
server = XMPPServer.getInstance();
System.out.println("初始化…… 安裝插件!");
System.out.println(server.getServerInfo());
}
@Override
public void destroyPlugin() {
System.out.println("服務器停止,銷毀插件!");
}
}
比較簡單,如果你將插件安裝在openfire服務器上的時候,啟動服務器一個可以看到初始化的內容,關閉服務器可以看到銷毀的內容。
2、 配置插件
<?xml version="1.0" encoding="UTF-8"?>
<plugin>
<!-- Main plugin class 這里是最重要滴,就是你的插件的全路徑-->
<class>com.hoo.server.plugin.SamplePlugin</class>
<!-- Plugin meta-data -->
<name>SimplePlugin</name>
<description>This is the my sample plugin.</description>
<author>hoojo</author>
<version>1.0</version>
<date>28/02/2013</date>
<url>http://localhost:9090/openfire/plugins.jsp</url>
<minServerVersion>3.4.1</minServerVersion>
<licenseType>gpl</licenseType>
<adminconsole>
</adminconsole>
</plugin>
注意上面的class的配置,那個配置是最為重要的,配置的是插件的全路徑;name是插件的名稱,安裝后的插件名稱;author是插件作者;lincenseType是協議;adminconsole是配置插件關聯的頁面的;稍后再講!