openfire插件开发之完美开发
http://redhacker.iteye.com/blog/1919329
一、说在前面
在继上篇Openfire3.8.2在eclipse中Debug方式启动最简单的方式后,我研究了openfire的插件开发,在研究过程中,参考了多位朋友的博客的内容,特别是csdn上这位同学的博客,里面有关于如何开发最简单的插件和聊天插件的内容,我按照博主的内容进行了插件开发,并改进了博主的插件打包脚本,自认为比较完美了,拿出来和大家分享一下。
二、示例插件的功能
这个插件很简单,就是在openfire Server启动时,和关闭时,在控制台打印出消息。
三、插件开发的目录结构设计
我们先看一下openfire源码的插件开发目录结构:
openfire自带的插件结构如下:
我们仿照openfire源码自己创建的插件项目目录结构如下(基本上保持和官方的一致)
四、插件程序
我们写了一个很简单的插件程序,如下所示:
五、插件打包及部署
看看我们插件的部署所要注意的事项:
打包脚本的位置及打包生成插件的位置:
进行打包:
打包成功的helloworld.jar部署到openfire服务器,部署很简单,只需要进行拷贝到特定的目录,如下所示:
这个插件测试很简单,只要启动openfire,就可以看到插件的运行结果如下:
结束语:
后续开发我们就按照这个标准的目录进行开发,不用再写任何打包脚本,打包脚本可以复用,只需要修改一个插件的名字,并将要打包的插件代码提升到源码目录就可以了(其他插件的源码路径必须移除),十分方便!我将代码传到博客,让我们一起开始openfire插件开发之旅吧!!
openfire插件开发之完美开发的更多相关文章
- openfire spark 二次 开发 服务插件
==================== 废话 begin ============================ 最近老大让我为研发平台增加即时通讯功能.告诉我用comet 在web端实现即 ...
- Openfire插件开发图解
概述 Openfire插件开发是Openfire的精髓之一,支持插件热插拔,还可以方便的在web端进行管理插件.插件分为两种,一种是以服务为主的控制台插件,一种是包括页面或对外开放Servlet接口. ...
- (转)openfire插件开发(二) 基于web的插件开发
转:http://blog.csdn.net/lovexieyuan520/article/details/38935137 在前面的博客中,我介绍了openfire插件开发,在那篇博客中我详细的说明 ...
- (转)openfire插件开发(一)
转:http://blog.csdn.net/lovexieyuan520/article/details/37774909 1. 在上一篇博文中,我介绍了Openfire3.9.3源代码导入ecli ...
- openfire的组件(Component)开发
在之前的文章<Openfire阶段实践总结>中提到过一种openfire的扩展模式Compoent.本文将主要探讨对这种模式的应用与开发方法. 内部与外部组件介绍 在openfire中的许 ...
- openfire插件开发入门1
.案例插件的功能 这个插件很简单,就是在openfire Server启动时,和关闭时,在控制台打印出消息. 3.插件开发的目录结构设计 先来看一下当前openfire在eclipse中的目录结构: ...
- Xcode7插件开发:从开发到拉到恶魔岛
Xcode很强大,但是有些封闭,官方并没有提供Xcode插件开发的文档.喵神的教程比较全,也比较适合入门.本文的教程只是作为我在开发FKConsole的过程中的总结,并不会很全面. FKConsole ...
- openfire插件开发的几点说明
1.关于插件的目录结构 这个网上的资料很多,但是我觉得要看懂也不太容易,我这里上一个包括了jsp和servlet的图,希望大家能马上看懂: ME的Navigator视图下的截图: build path ...
- Sonar Java 规则插件开发 (基于阿里开发手册)
引言 最近在做Sonar静态代码扫描管理,以此顺手接了Sonar的插件开发,基于阿里开发手册进行开发,在整体开发过程中,其中还是遇到不少坑位,也以此给大家做相应借鉴官网Demo演示插件开发地址:htt ...
随机推荐
- POJ C++程序设计 编程题#2 编程作业—多态与虚函数
编程题#2 来源: POJ(Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩.) 注意: 总时间限制: 1000ms 内存限制: 65536kB 描述 下面程序的输出结果 ...
- iOS 技术博客分享
1.了解有什么新技术 1> 苹果API文档 - General - Guides - iOSx API Diffs 2> 观看WWDC会议视频 2.如何使用新技术 1> 自己根据AP ...
- Target Operator ID has No Access to Upgrade
If you are attempting to migrate a project between environments through application designer you mig ...
- silverlight嵌套html不能输入中文问题
1.xaml <UserControl xmlns:SilverlightClient="clr-namespace:SilverlightClient" x:Class=& ...
- FileInputStream利用缓冲数组读取数据
package cd.itcast.fileinputstream; import java.io.File; import java.io.FileInputStream; import java. ...
- android ping网络是否成功
public static boolean pingHost(String str) { //str 为要ping的IP地址 boolean result = false; try { Process ...
- PHP请求页面
< ?php $file_contents = file_get_contents('http://www.ccvita.com/'); echo $file_contents; ?> 有 ...
- Oracle 直方图实例测试
--创建表 SQL> create table tab (a number, b number); Table created. --插入数据 SQL> begin .. loop ins ...
- python zip函数介绍
首先用help(zip)来看一下帮助文档:
- JQuery中ajax跨域问题
var url = "http://apis.juhe.cn/idcard/index?key=e0a6277420506b2816b82f7d7821976c&cardno=&qu ...