Openfire开发笔记二-插件开发
来源:互联网 发布:制作炫彩字的软件 编辑:程序博客网 时间:2024/06/17 19:29
Openfire的所有插件都存放在openfire根下的plugins目录下。当一个插件被以JAR或WAR文件发布时,他自动扩展为一个文件夹。插件目录结构如下所示:
Plugin Structure
myplugin/
|- plugin.xml <- 插件定义文件
|-readme.html <- 可选的插件自己述文件,它将被显示给最终用户。
|-changelog.html <-可选的插件版本日志文件,它将被展现给最终用户。
|-logo_small.gif <- 可选的与插件关联的小图标(16x16)文件(也能为png文件)
|-logo_large.gif <-可选的与插件关联的大图标(32x32)文件(也能为png文件)
|- classes/ <- 你的插件需要的资源文件(如properties文件)
|- database/ <- 可选的你的插件需要的数据库schema文件
|- i18n/ <- 可选的i18n文件,它们为插件提供国际化支持
|- lib/ <- 你的插件需要的库(JAR文件)
|- web <- 需要集成到管理控制台中的各类资源(如果有的话)
|- WEB-INF/
|-web.xml <- 配置jsp调度的web.xml配置文件
|-web-custom.xml <- 可选的用户定义的web.xml文件,用于调度自定义servlets
|- images/
插件开发流程:
1.将Openfire的源码导入到Eclipse中,
在项目文件夹\openfire\src\plugins下手动新建一个插件文件夹,定义名为org(随便取),进入文件夹根据需要新建以上文件夹或文件,其中web、i18n、icon、database都不是必须的。
建立plugin.xml :
<?xml version="1.0" encoding="UTF-8"?>
<plugin>
<!—插件主类 -->
<class>org.jivesoftware.openfire.plugin.OrgInfoPlugin</class>
<!—插件信息 -->
<name>Plugin</name>
<description>Test Plugin</description>
<author>Aaron</author>
<version>1.0.0</version>
<date>12/24/2007</date>
<minServerVersion>3.4.1</minServerVersion>
<licenseType>gpl</licenseType>
<!—Web界面需要配置,没有界面则保留<adminconsole>空标签即可 -->
<adminconsole>
</adminconsole>
</plugin>
保存退出。
退回到项目根目录 用记事本打开CLASSPATH文件 ,找到类似
|plugins/packetFilter/src/java/" kind="src" path="src"/>的地方复制|plugins/packetFilter/src/java/ 并更改其为|plugins/org/src/java/粘贴在|plugins/packetFilter/src/java/后面 。
复制一条<classpathentry kind="src" path="src/plugins/fastpath/src/java"/>将 path改为你插件的目录 也就是src/plugins/org/src/java ,保存退出。
打开Eclipse点击项目按F5刷新,看到新加入的插件:
打开OrgInfoPlugin,最基础的类结构如下:
package org.jivesoftware.openfire.plugin;
import java.io.File;
import org.jivesoftware.openfire.*;
import org.jivesoftware.openfire.container.*;
public class OrgInfoPlugin implements Plugin {
public OrgInfoPlugin() {
}
public void initializePlugin(PluginManager manager, File pluginDirectory) {
System.out.println("初始化插件");
}
public void destroyPlugin() {
System.out.println("停止插件");
}
}
插件主类必须实现org.jivesoftware.openfire.plugin. Plugin插件接口
并实现里面的两个方法:initializePlugin(PluginManager manager, File pluginDirectory)、destroyPlugin()。initializePlugin方法在插件加载时调用,destroyPlugin在插件卸载或者重启是调用,在initializePlugin书写你的功能代码或者调用其他方法执行。
3、 插件编译
编译插件需要ANT工具,Jbuilder、Eclipse都内置Ant工具,我们往环境变量里追加path变量 加入ant 的路径 Jubilder的路径就是:
Borland JBuilder\2005\thirdparty\ant\bin
加入变量后我们就可以在CMD里调用ANT命令了,运行 → CMD 打开命令提示行 ,进入到Openfire项目的根目录下的Build的文件夹 ,输入命令ant plugins
编译插件,待插件编译完成后生成的Jar在\openfire\target\openfire\plugins\下面。
4、 插件装载
找到你的插件复制出来,如果保留在该文件下则插件随Openfire一同启动。
插件可以直接copy到openfire运行环境的 目录下。
也可以在管理控制台 插件页面通过上传功能直接上传。
以下是我们项目管理界面的插件界面:
下一篇我们将聊聊openfire提供的插件及其作用,方便大家在开发时选用。
- Openfire开发笔记二-插件开发
- OpenFire插件开发笔记
- openfire插件开发续二
- openfire 插件开发学习笔记
- openfire 插件开发学习笔记
- openfire开发笔记三-openfire主要插件介绍
- Openfire插件开发
- Openfire插件开发
- Openfire 插件开发记录
- 使用openfire开发插件
- openfire 开发插件
- Openfire插件开发小结
- openfire 插件开发一
- openfire插件开发全过程
- 开发Openfire聊天记录插件
- Android openfire插件开发
- openfire 插件开发 打包
- openfire插件开发简介
- 寻找最快的debian源sources.list
- 哈哈哈
- 在SecureCRT rz上传文件失败的解决
- 网络抓包源代码
- PHP4(windows版本)中的COM函数
- Openfire开发笔记二-插件开发
- 使用RequireJS优化Web应用前端
- linux下安装protobuf教程+示例(详细)
- 第十四周项目三----抽象类
- linux设备驱动归纳总结(八):3.设备模型的分层与面向对象
- 使用 Spring Batch 构建企业级批处理应用: 第 1 部分
- tomcat配置虚拟域名
- onActivityResult方法使用
- 基于ARP欺骗的网络攻击程序源码