国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
openfire3.6.3插件開發(fā)方法(經小組測試成功)
openfire3.6.3插件開發(fā)方法(經小組測試成功)

作用:初始化時在控制臺打印測試消息。

開發(fā)環(huán)境:winxp/myeclipse6.5/jdk1.5&1.6/mysql5.0/openfire3.6.3

QQ群:28588322 (openfire專題研究小組)

 

開發(fā)步驟:
1. 布署openfire3.6.3源碼(請參考openfire3.6.3導入eclipse項目實現(xiàn)方法)
結構如下:

2. src/plugins目錄下新建文件夾itvi。并按下圖的目錄結構新建對應的文件。
plugin.xml文件代碼如下:

<?xml version="1.0" encoding="UTF-8"?>
<plugin>
<class>org.jivesoftware.openfire.plugin.Itvi</class>
<name>Itvi</name>
<description>Broadcasts messages to users.</description>
<author>openfireteam</author>
<version>1.7.0</version>
<date>2/19/2009</date>
<url>http://openfireteam.blogjava.net</url>
<minServerVersion>3.6.3</minServerVersion>
</plugin>

 

Itvi.java文件代碼如下:

package org.jivesoftware.openfire.plugin;
import org.dom4j.Element;
import org.jivesoftware.openfire.IQHandlerInfo;

import org.xmpp.packet.*;
import org.jivesoftware.openfire.handler.IQHandler;
import org.jivesoftware.openfire.auth.UnauthorizedException;

/**
* 處理客戶端發(fā)來的IQ,并回送結果IQ
*
* @author Phoenix
*
* Mar 14, 2008 4:55:33 PM
*
* version 0.1
*/

import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.QName;
import org.jivesoftware.openfire.XMPPServer;
import org.jivesoftware.openfire.container.Plugin;
import org.jivesoftware.openfire.container.PluginManager;
import org.jivesoftware.openfire.disco.IQDiscoInfoHandler;
import org.jivesoftware.openfire.disco.IQDiscoItemsHandler;
import org.jivesoftware.openfire.forms.DataForm;
import org.jivesoftware.openfire.forms.FormField;
import org.jivesoftware.openfire.forms.spi.XDataFormImpl;
import org.jivesoftware.openfire.forms.spi.XFormFieldImpl;
import org.jivesoftware.openfire.resultsetmanager.ResultSet;
import org.jivesoftware.openfire.resultsetmanager.ResultSetImpl;
import org.jivesoftware.openfire.user.User;
import org.jivesoftware.openfire.user.UserManager;
import org.jivesoftware.openfire.user.UserNotFoundException;
import org.jivesoftware.util.*;
import org.xmpp.component.Component;
import org.xmpp.component.ComponentException;
import org.xmpp.component.ComponentManager;
import org.xmpp.component.ComponentManagerFactory;
import org.xmpp.packet.IQ;
import org.xmpp.packet.IQ.Type;
import org.xmpp.packet.JID;
import org.xmpp.packet.Packet;
import org.xmpp.packet.PacketError;
import org.xmpp.packet.PacketError.Condition;

import java.io.File;
import java.util.*;
import java.util.Map.Entry;

public class Itvi implements Plugin
{
private XMPPServer server;

/*
* (non-Javadoc)
*
* @see org.jivesoftware.openfire.container.Plugin#destroyPlugin()
*/
public void destroyPlugin()
{

}

/*
* (non-Javadoc)
*
* @see org.jivesoftware.openfire.container.Plugin#initializePlugin(org.jivesoftware.openfire.container.PluginManager,
* java.io.File)
*/
public void initializePlugin(PluginManager manager, File pluginDirectory)
{
server = XMPPServer.getInstance();
server.getIQRouter().addHandler(new ItviIQHander()); //
System.out.println("測試插件啟動成功");
}

}

ItviIQHander.java文件代碼如下:

 

package org.jivesoftware.openfire.plugin;
import org.dom4j.Element;
import org.jivesoftware.openfire.IQHandlerInfo;

import org.xmpp.packet.*;
import org.jivesoftware.openfire.handler.IQHandler;
import org.jivesoftware.openfire.auth.UnauthorizedException;

/**
* 處理客戶端發(fā)來的IQ,并回送結果IQ
*
* @author Phoenix
*
* Mar 14, 2008 4:55:33 PM
*
* version 0.1
*/
public class ItviIQHander extends IQHandler
{

private static final String MODULE_NAME = "group tree handler";

private static final String NAME_SPACE = "com:im:group";

private IQHandlerInfo info;

public ItviIQHander()
{
super(MODULE_NAME);
info = new IQHandlerInfo("gruops", NAME_SPACE);
}

/*
* (non-Javadoc)
*
* @see org.jivesoftware.openfire.handler.IQHandler#getInfo()
*/
@Override
public IQHandlerInfo getInfo()
{
return info;
}

/*
* (non-Javadoc)
*
* @see org.jivesoftware.openfire.handler.IQHandler#handleIQ(org.xmpp.packet.IQ)
*/
@Override
public IQ handleIQ(IQ packet) throws UnauthorizedException
{
IQ reply = IQ.createResultIQ(packet);
Element groups = packet.getChildElement();//1

if (!IQ.Type.get.equals(packet.getType()))
{
System.out.println("非法的請求類型");
reply.setChildElement(groups.createCopy());
reply.setError(PacketError.Condition.bad_request);
return reply;
}

//String userName = StringUtils.substringBefore(packet.getFrom().toString(),"@");

//GroupManager.getInstance().initElement(groups,userName);

//reply.setChildElement(groups.createCopy());//2

//System.out.println("返回的最終XML" reply.toXML());

return reply;
}

}

3.打包插件
a.第一次打包需配置ant工具。在環(huán)境變量中,

添加 path=C:\Program Files\Java\jdk1.5.0_09\;D:\Program Files\MyEclipse6.5\eclipse\plugins\org.apache.ant_1.7.0.v200706080842\bin (如果原來有path,在變量值的尾部添加半角分號 ; 然后再加入上面的jdk和ant路徑 )

b.編譯

進入cmd,進入 openfire/build所在目錄:輸入命令:ant plugins 等待執(zhí)行完,而且沒有報錯,說明打包成功。在openfire3.6.3\target\openfire\plugins目錄下就生成了itvi.jar

4.測試
啟動openfire ,如發(fā)現(xiàn)控制臺輸出“測試插件啟動成功”,說明插件開發(fā)成功。

-------------------------------------------------------------------------------------------------

評論

# re: openfire3.6.3插件開發(fā)方法(經小組測試成功) 2009-06-15 18:24 jakai
你好像沒有寫build.xml的內容,怎么會編譯呢?  回復  更多評論
  

# re: openfire3.6.3插件開發(fā)方法(經小組測試成功)[未登錄] 2009-06-15 20:06 jyleon
不需要寫build文件,用 eclipse的ant工具編譯  回復  更多評論
 

(#)
本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
openfire推送離線聊天信息插件
源碼詳解openfire保存消息記錄_修改服務端方式
java實現(xiàn)簡單XMPP發(fā)送消息和文件的簡單例子
通過openfire發(fā)送文字
Smack 體系結構
Android客戶端基于XMPP的IM(openfire+asmack)的聊天工具之環(huán)境搭建及與服務器建立連接(一)
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服