现在的位置: 首页 > 综合 > 正文

spark+openfire二次开发

2013年08月29日 ⁄ 综合 ⁄ 共 4920字 ⁄ 字号 评论关闭

spark+openfire二次开发(一)

文章分类:Java编程

1.准备工作:

到官网上下载Openfire 3.6.4,并通过svn下载openfire、Spark和SparkWeb的源代码

官网地址如下:

http://www.igniterealtime.org/downloads/index.jsp

注意官网上最新的Spark版本是2.5.8,其jdk环境最好使用1.6的版本。

2.环境搭建——spark源码安装配置

 双击openfire_3_6_4.exe进行openfire的安装,安装过程很简单,不介绍了。

本例的开发环境是基于Eclipse的。

1)选择File——New——Project——JavaProject

     输入项目工程名spark

     Contents中选择 "Create project from existiing source",然后把spark文件所在的文件夹加进去.

 

 

 点击Finish。

 2)生成Spark

      点击Window::Show View::Ant
      右击Ant面板,选择Add Buildfiles
      展开spark::build文件夹,选择build.xml,点击"OK"
      在Ant面板,展开Spark,双击"release",等一段时间,会提示"Build Successful"。

 3)运行Spark

      点击Run::Open Debug Dialog...,出现"Run"窗口
      选择"JavaApplication",右键点击"New"按钮.
      在"Main"标签页,将New_configuration换成Spark.
      点击Project::Browse按钮,选择Spark,再点OK.
      点击Main class::Search按钮,选择main所在的类org.jivesoftware.launcher.Startup再点击OK
      建议勾选Stop in main.
      点击Classpath标签页,选择User Entries ,使得Advanced..按钮变的可用.点击Advanced按钮.在弹出来的Advanced Options窗口,选择Add Folders,再点OK,在FolderSelection窗口选择spark::src::resources 文件夹,点击OK
      选择Common标签页,勾选Debug,Run前面的框
      点击Apply,再点击Close

4)在run下选择spark,运行成功!

spark+openfire二次开发(二)

 

1.openfire源码部署

      将下来的openfire_src_3_6_4.tar.gz解压后得到openfire_src文件夹,重命名为openfire。其源码部署方式请参照spark+openfire二次开发(一)中spark源码的部署方式。

2.openfire运行配置

      1)点击Run::OpenDebug Dialog...,出现"Run"窗口
      2)选择"JavaApplication",右键点击"New"按钮.
      3)在"Main"标签页,将New_configuration换成openfire.
      4)点击Project::Browse按钮,选择openfire,再点OK.
      5)点击Main class::Search按钮,选择main所在的类ServerStarter再点击OK, 建议勾选Stop inmain.

      6)Arguments页面。在VM arguments中加下内容

    -DopenfireHome="${workspace_loc:Openfire}/target/openfire"。
      7)点击Classpath标签页,选择User Entries ,使得Advanced..按钮变的可用.点击Advanced按钮.在弹出来的Advanced Options窗口,选择Add Folders,再点OK,在FolderSelection窗口选择Openfire/src/i18n文件夹,同样的方式选择Openfire/src/resources/jar文件夹,点击OK。
      8)选择Common标签页,勾选Debug,Run前面的框
      9)点击Apply,再点击Close

3.编译

      1)将Openfire/src/i18n文件夹下的openfire_i18n_en.properties文件及Openfire/src/resources/jar文件夹下的admin-sidebar.xml文件拷贝到src\bin目录下,打开ANT面板,选择openfire【default】任务执行。

4.运行

      运行openfire,控制台界面出现如下信息:

      Openfire 3.6.4 [Mar 15, 20108:49:33 AM]
      Admin console listening at http://127.0.0.1:9090

      在浏览器中打开上面显示的地址,可进行openfire的管理配置。

spark+openfire二次开发(三)

文章分类:Java编程

spark的插件主要用来增强客户端的功能,下文主要介绍一下spark插件的开发过程。

1.最终完成效果如下:

    增加一个My Plugin菜单,点击后显示hello面板。

 

 

2.开发流程

1)插件结构

插件的jar包结构如下示:

Java代码

  1. example.jar   
  2.  |- plugin.xml     插件定义文件   
  3.  |- libs/          包含所有运行此插件所需的classes文件  

example.jar

 |- plugin.xml     插件定义文件

 |- libs/          包含所有运行此插件所需的classes文件

  

定义你的plugin.xml文件。spark会自动读取插件jar中的plugin.xml文件,进行插件加载工作。示例文件如下:

 

Java代码

  1. <!-- Define your plugins -->   
  2. <plugin>   
  3.     <name>Examples Plugin</name>   
  4.     <version>1.0</version>   
  5.     <author>Derek DeMoro</author>   
  6.     <homePage>http://www.jivesoftware.com</homePage>   
  7.     <email>derek@jivesoftware.com</email>   
  8.     <description>Shows some simple ways to create plugins.</description>   
  9.    <!--插件的接口实现类-->   
  10.     <class>com.jivesoftware.spark.examples.ExamplePlugin</class>   
  11.     <minSparkVersion>2.5.0</minSparkVersion>   
  12. </plugin>  

<!-- Define your plugins-->

<plugin>

    <name>Examples Plugin</name>

    <version>1.0</version>

    <author>Derek DeMoro</author>

    <homePage>http://www.jivesoftware.com</homePage>

   <email>derek@jivesoftware.com</email>

    <description>Shows some simple waysto create plugins.</description>

   <!--插件的接口实现类-->

   <class>com.jivesoftware.spark.examples.ExamplePlugin</class>

    <minSparkVersion>2.5.0</minSparkVersion>

</plugin>

  

 2)开发你的插件

插件源码目录结构

Java代码

  1. example   
  2.  |- src    源代码   
  3.  |- lib  支持此插件的额外jar文件   
  4.  |- resources 图片等资源文件   
  5.  |- build  编译文件   
  6.       |-build.xml   ant打包插件的配置文件  

example

 |- src   源代码

 |- lib  支持此插件的额外jar文件

 |- resources 图片等资源文件

 |- build 编译文件

      |-build.xml   ant打包插件的配置文件

 

 插件的实现类,你的类首先要实现Spark 提供的Plugin 接口,然后实现它的一些方法。

Java代码

  1. package org.jivesoftware.spark.examples;   
  2.   
  3. import org.jivesoftware.spark.plugin.Plugin;   
  4.   
  5. /**  
  6.  * 通过实现方法的不同,来显示不同的插件功能  
  7.  */  
  8. public class ExamplePlugin implements Plugin {   
  9.   
  10.     /**  
  11.      * 插件安装后,初始化插件  
  12.      */  
  13.     public void initialize() {   
  14.         System.out.println("Welcome To Spark");   
  15.   
  16.     }   
  17.   
  18.     /**  
  19.      *spark关闭的时候调用,来实现信息持久化或释放资源  
  20.      */  
  21.     public void shutdown() {   
  22.   
  23.     }   
  24.   
  25.     /**  
  26.      * 当用户请求关闭spark时,如果可以关闭返回真  
  27.      */  
  28.     public boolean canShutDown() {   
  29.         return true;   
  30.     }   
  31.   
  32.     /**  
  33.     * 插件卸载的时候调用,清除磁盘上的资源,如文件,图像等以及插件安装时留下的所有组件  
  34.     */  
  35.     public void uninstall(){   
  36.        // Remove all resources belonging to this plugin.   
  37.     }   
  38. }  

packageorg.jivesoftware.spark.examples;

 

importorg.jivesoftware.spark.plugin.Plugin;

 

/**

 * 通过实现方法的不同,来显示不同的插件功能

 */

public class ExamplePluginimplements Plugin {

 

    /**

     * 插件安装后,初始化插件

     */

    public void initialize() {

        System.out.println("Welcome ToSpark");

 

    }

 

    /**

     *spark关闭的时候调用,来实现信息持久化或释放资源

     */

    public void shutdown() {

 

    }

 

    /**

     * 当用户请求关闭spark时,如果可以关闭返回真

     */

    public boolean canShutDown() {

        return true;

    }

 

    /**

    * 插件卸载的时候调用,清除磁盘上的资源,如文件,图像等以及插件安装时留下的所有组件

    */

    public void uninstall(){

       // Remove all resources belonging tothis plugin.

    }

}

 

 

 

开发流程待续,例子先放上

 

抱歉!评论已关闭.