如何开发OpenFire插件,请参照
【插件开发一】开发简单OpenFire插件:http://blog.youkuaiyun.com/majian_1987/article/details/9813467;
开发消息拦截器的步骤跟开发简单插件步骤一样,直接上代码,要开发消息拦截器插件,就需要插件类实现Plugin接口和PacketInterceptor接口。
package com.bis.plugin.messageplugin;
import java.io.File;
import org.jivesoftware.openfire.container.Plugin;
import org.jivesoftware.openfire.container.PluginManager;
import org.jivesoftware.openfire.interceptor.InterceptorManager;
import org.jivesoftware.openfire.interceptor.PacketInterceptor;
import org.jivesoftware.openfire.interceptor.PacketRejectedException;
import org.jivesoftware.openfire.session.Session;
import org.xmpp.packet.Packet;
public class MessagePlugIn implements Plugin,PacketInterceptor {
private static PluginManager pluginManager;
private InterceptorManager interceptoerManager;
public MessagePlugIn() {
interceptoerManager = InterceptorManager.getInstance();
}
@Override
public void initializePlugin(PluginManager manager, File pluginDirectory) {
pluginManager = manager;
interceptoerManager.addInterceptor(this);
System.out.println("加载插件成功!");
}
@Override
public void destroyPlugin() {
interceptoerManager.removeInterceptor(this);
System.out.println("销毁插件成功!");
}
@Override
public void interceptPacket(Packet packet, Session session,
boolean incoming, boolean processed) throws PacketRejectedException {
System.out.println("接收到的消息内容:"+packet.toXML());
}
}