您的位置:首页 > 运维架构

openfire插件最佳实践(一)简单插件开发

2013-12-29 18:15 411 查看
开发插件:简单插件

准备:openfire服务,tomcat 5(用于插件编译),eclipse

(1)新建一个java project工程。

添加openfire.jar

将工程路径设置成如下样式:



src/plugins/userinfo 是我的插件

com.hoo.server.plugin 是自定义的包名

目录结构很重要。因为我们将写好的插件打成jar包后,打包的jar的目录有一定规范结构,不能随便建立其他目录。

web目录中则是前端的页面,其中web-custom.xml是配置当前插件UserServiceServlet配置;plugin.xml是我们配置插件的文件,这个很重要。

(2)新建一个插件类UserInfoPlugin.java
实现 Plugin接口


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;
import org.jivesoftware.openfire.handler.IQvCardHandler;

public class UserInfoPlugin implements Plugin{
private XMPPServer server;

@Override
public void initializePlugin(PluginManager manager, File pluginDirectory) {
server = XMPPServer.getInstance();
System.out.println("初始化…… 安装插件!");

}

@Override
public void destroyPlugin() {
System.out.println("销毁插件!");
}
}
在初始化插件和销毁插件时可以看到打印。

(3)配置插件,在plugin.xml中写入如下信息

<?xml version="1.0" encoding="UTF-8"?>
<plugin>
<!-- Main plugin class-->
<class>com.hoo.server.plugin.UserInfoPlugin</class>
<!-- Plugin meta-data -->
<name>UserInfoPlugin</name>
<description>user infomation plugin.</description>
<author>lee</author>

<version>1.0</version>
<date>19/12/2013</date>
<url>http://localhost:9090/openfire/plugins.jsp</url>
<minServerVersion>3.7.1</minServerVersion>
<licenseType>gpl</licenseType>
</plugin>


配置的是插件的全路径。name是插件的名称,安装后的插件名称;author是插件作者;lincenseType是协议。

(4)在工程根目录下简历build.xml和build.properties两个文件(用于使用ant进行编译)

<project name="Webapp Precompilation" default="openfire-plugins" basedir=".">
<property file="build.properties" />

<!-- java servlet相关文件编译jar存放位置 -->
<property name="java.jar.dir" value="${webapp.path}/java-dist"/>

<target name="java-jar">
<mkdir dir="${java.jar.dir}"/>
<jar jarfile="${java.jar}">
<fileset dir="${webapp.path}/bin" includes="**/*.class"/>
</jar>
</target>

<!-- 生成没有Web资源的可部署插件包 -->
<target name="java-plug-jar">
<!-- 插件插件包相关lib、 web目录 -->
<mkdir dir="${webapp.path}/${plugin.name}/lib"/>

<!-- 复制java servlet的相关jar包到插件包的lib目录下 -->
<copy file="${java.jar}" todir="${webapp.path}/${plugin.name}/lib"/>

<!-- 将相关的图片、帮助文档、修改日志等文件复制到插件目录下 -->
<copy todir="${webapp.path}/${plugin.name}">
<fileset dir="${plugin.path}" includes="*.*"/>
</copy>

<!-- 产生可部署插件包 -->
<jar jarfile="${webapp.path}/${plugin.name}.jar">
<fileset dir="${webapp.path}/${plugin.name}" includes="**/**"/>
</jar>
</target>

<!-- 清理生成的文件 -->
<target name="clean">
<delete file="${webapp.path}/${plugin.name}.jar"/>
<delete dir="${webapp.path}/${plugin.name}"/>
<delete dir="${webapp.path}/jsp-dist"/>
<delete dir="${webapp.path}/java-dist"/>
</target>

<target name="openfire-plugin-java" depends="clean,java-jar,java-plug-jar"/>
</project>


#tomcat home
tomcat.home=D:/tomcat-5.0.28/tomcat-5.0.28
webapp.path=D:/Workspace/OpenfirePlugin

plugin.name=sample
plugin.path=D\:/Workspace/OpenfirePlugin/src/plugins/userinfo


执行命令后,你可以看到工作空间的工程目录下多了目录和文件。其中sample.jar就是你所要安装的插件。

(5)安装插件

安装插件有两种方式:

①直接将sample.jar放置在openfire服务器的plugins目录下,重启openfire服务

②在openfire启动的情况下,访问http://localhost:9090/plugin-admin.jsp页面,直接安装插件。

参考资料:

http://phoenixtoday.blogbus.com/logs/20285574.html

/article/4253937.html

/article/6974508.html

http://www.cnblogs.com/hoojo/archive/2013/03/29/2988437.html

/article/6974505.html

/content/3150607.html

http://blog.csdn.net/majian_1987/article/details/9812933

/article/5657644.html

http://abin888.blog.sohu.com/236481227.html

/content/2738426.html

/article/3995424.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: