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接口
(3)配置插件,在plugin.xml中写入如下信息
配置的是插件的全路径。name是插件的名称,安装后的插件名称;author是插件作者;lincenseType是协议。
(4)在工程根目录下简历build.xml和build.properties两个文件(用于使用ant进行编译)
执行命令后,你可以看到工作空间的工程目录下多了目录和文件。其中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
准备: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
相关文章推荐
- openfire插件最佳实践(一)简单插件开发
- openfire插件最佳实践(四)离线消息推送ios服务器
- Eclipse下OpenFire4.0.2源码配置+简单插件开发
- openfire插件最佳实践(二)基于IQHandler 的Smack+openfire插件
- 【插件开发一】开发简单OpenFire插件
- 开发 Eclipse 插件的最佳实践
- 【插件开发一】开发简单OpenFire插件
- openfire插件开发简单实例
- openfire插件开发-简单插件
- jQuery插件开发入门与最佳实践
- JQuery最佳实践-简单图片导航插件jquery.imgNav.js
- openfire插件最佳实践(四)离线消息推送ios服务器
- openfire插件最佳实践(三) 用户加入指定群组功能
- openfire插件开发-简单插件
- openfire插件开发简单实例
- openfire插件最佳实践(三) 用户加入指定群组功能
- [转]开发 Eclipse 插件的最佳实践
- 精通Spark的开发语言:Scala最佳实践
- 基础入门_Python-模块和包.运维开发中MySQLdb CRUD操作的最佳实践?
- MOSS 2010:Visual Studio 2010开发体验(32)——工作流开发最佳实践(四):可重用工作流