Openfire是个实时协作服务器,它使用XMPP协议,易于管理和维护,安全稳定性好,而且可以添加插件拓展功能。
Openfire插件开发指导,这是官网文件,内容较少,看之前最好先看一看源码构建指导,里面涉及一些构建插件构建方法,就是用apache的ant。
下载的Openfire源码中含有ant构建需要的文件(build.xml),按照源码构建指导安装好jdk和ant。
插件的目录结构是很重要的,开发指导中有详细的讲解。注意其中的目录结构提到了两种,一个是plugin源码的的目录结构,一个是构建之后的目录结构。如下所示(未列出所有,测试程序用这些足够):
Plugin生成Jar包的目录结构
myplugin/ |- plugin.xml <- Plugin definition file |- lib/ <- Libraries (JAR files) your plugin needs |- web <- Resources for Admin Console integration, if any |- WEB-INF/
Plugin源码的目录结构
myplugin/ |- plugin.xml <- Plugin definition file |- lib/ <- Libraries your plugin needs |- src/ |- java <- Java source code for your plugin | |- com | |- mycompany | |- *.java |- web |- *.jsp <- JSPs your plugin uses for the admin console |- WEB-INF
以下是一个简单的插件示例,只在Openfire控制台显示一行字符。
plugin.xml
<?xml version="1.0" encoding="UTF-8"?>
<plugin>
<!-- Main plugin class -->
<class>com.mycompany.TestPrint</class>
<!-- Plugin meta-data -->
<name>TestPrint</name>
<description>First plugin, test print line.</description>
<author>Bing</author>
<version>1.0</version>
<date>11/08/2011</date>
<url>http://localhost:9090/openfire/plugins.jsp</url>
<minServerVersion>3.4.1</minServerVersion>
<licenseType>gpl</licenseType>
<!-- Admin console entries -->
<adminconsole>
<!-- More on this below -->
</adminconsole>
</plugin>TestPrint.java
package com.mycompany;
import org.jivesoftware.openfire.container.Plugin;
import org.jivesoftware.openfire.container.PluginManager;
import java.io.File;
/**
* Test Print
*/
public class TestPrint implements Plugin {
/**
* Constructs a new client control plugin.
*/
public TestPrint() {
}
// Plugin Interface
public void initializePlugin(PluginManager manager, File pluginDirectory) {
System.out.println("Test Print, My First Openfire Plugin");
}
public void destroyPlugin() {
}
}
构建方法:将以上两个文件存到Openfire源码src/plugins目录下,目录结构如下:
plugins
└─testPrint│ plugin.xml
│
└─src
└─java
└─com
└─mycompany
TestPrint.java
控制台或shell操作,cd到Openfire源码build目录下,运行命令:ant plugins
构建完成后,源码文件夹中生成了一个目录/target/openfire/plugins,其中有testPrint.jar文件,拷到可运行的Openfire的plugin目录中,重启Openfire,这时Openfire控制台显示程序中的字符,效果如图:


本文介绍了Openfire实时协作服务器的插件开发过程。通过遵循官方的插件开发指导和源码构建教程,开发者需要了解ant构建工具,并理解插件的目录结构。一个简单的示例展示了如何创建一个仅在Openfire控制台显示字符的插件,包括plugin.xml配置文件和Java源代码。构建完成后,将生成的jar文件移动到Openfire的plugin目录并重启服务器,即可看到插件的效果。
243

被折叠的 条评论
为什么被折叠?



