openfire 插件开发入门

来源:互联网 发布:java项目转maven项目 编辑:程序博客网 时间:2024/05/17 01:30

我这里写的插件是基于openfire源码工程做的开发,不是专门开发of插件的工程

 

 

1、到OpenFire工程下,找到src/plugins目录,新建myplugin文件夹(即插件的最外层目录,插件的名称也是根据这个文件夹名称来确定的),然后在这个目录下需要建 lib、src目录和plugin.xml文件;src下再java 、web目录(web这个以后可能要用),如图:

 

 

2、在java目录中添加java文件继承Plugin接口,作为插件启动的入口

 

package com.maojd.test;import java.io.File;import org.jivesoftware.openfire.XMPPServer;import org.jivesoftware.openfire.container.Plugin;import org.jivesoftware.openfire.container.PluginManager;public class MyPlugin implements Plugin{private XMPPServer server;//插件在启动的时候会调用initializePlugin这个方法@Overridepublic void initializePlugin(PluginManager manager, File pluginDirectory) {// TODO Auto-generated method stubserver = XMPPServer.getInstance();System.out.println("初始化安装插件....init myplugin mao");System.out.println(server.getServerInfo());}@Overridepublic void destroyPlugin() {// TODO Auto-generated method stubSystem.out.println("服务器停止,销毁!   end myplugin mao");}}

 

 

3、将java目录引入classpath路径,如图

 

4、编写plugin.xml配置文件

 

<?xml version="1.0" encoding="utf-8"?><plugin>  <!-- Main plugin class    这里是最重要滴,就是你的插件的全路径  -->  <class>com.maojd.test.MaojdPlugin</class>  <!-- Plugin meta-data -->  <name>myplugin222</name>  <description>This is the my sample  plugin.description</description>  <author>author maojd</author>  <version>2.88888</version>  <date>22/11/2013</date>  <url>http://localhost:9090/openfire/plugins.jsp</url>  <minServerVersion>3.4.1</minServerVersion>  <licenseType>gpl</licenseType>  <adminconsole></adminconsole></plugin>

a) 关于class标签是“包.类”全路径,插件在启动的时候会去找这个类,这个类一定是继承了Plugin接口,会去调用这个类的initializePlugin()方法

 

b)adminconsole标签是配置插件的jsp页面在of web工程中展现位置的说明。

 

5、使用ant编译插件,即双击build.xml文件中的 plugins这个子工程,编译完毕之后去target/openfire/plugins目录下面去查找,看有没有myplugin.jar这个文件,这个文件名就是第一步创建的文件夹,如图:

 

如果存在则说明插件开发成功,如果没有说明失败了,考虑哪里出错了

 

6、启动OpenFir项目。打开http://localhost:9090/plugin-admin.jsp,查看,刚才的插件已经现实出来,并且启动过程,控制台打开了刚才的 语句

 

 

 图片显示的的信息就是在plugin.xml文件中说明的属性,它前面展示的图标实际上是在myplugin目录中需要添加logo_large.gif 和 logo_small.gif图片作为展示

原创粉丝点击