相信大家都看了很多Openfire写插件的东西。写插件个人感觉最难的是,配置好Plugin.XML。还有就是写Java代码的时候Eclipse是不会给你报错的。
所以下面分享一下我的第一个插件经验吧,我在写这个插件的时候也很迷茫,在看了很多资料之后才有点了解。
1.plugin.xml中的<class>节点一定要对应你的java文件中的Package名。最好的办法是复制随便一个插件的XML,然后对应改一下,这样就安全很多。
2.相信很多第一次写插件的时候,会不清楚怎么Ant。方法是用cmd来运行的,用CD方法 比如你的E:\openfire\build下有你的build.xml
如果你是XP的话,很简单 CD: E:\openfire\build 回车,然后ant plugins。 但是如果你是WIN7的话,那就要这样的 CD: E:\openfire\build 之后
还要输入E:\回车,然后在ant plugins。
3.cmd 运行打包过程中,如果插件没问题的话,你在cmd中查找,比如你的项目名叫做abcPlugin 你查找这个名字的时候,找到的话,表明,很遗憾,你的打包不通过,反之恭喜你,成功打包了,重新运行Openfire吧。
4.openfire插件也不是很难,多看别人的代码就好了:
以下是我的一个算是helloworld吧:
public void initializePlugin(PluginManager manager, File pluginDirectory) {
// TODO Auto-generated method stub
System.out.println("我的Jar包启动的HelloWorld—————————————————————————————555999");
System.out.println("我的Jar包启动的HelloWorld——————————————————————————————3333");
formatter=new SimpleDateFormat("yyyy.MM.dd HH:mm:ss");
new Thread(){
@Override
public void run() {
while(true){
try {
sleep(10000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("hello");
XMPPServer.getInstance().getSessionManager().sendServerMessage(null, "hello :"+formatter.format(new java.util.Date()));
}
};
}.start();
System.out.println("我的Jar包启动的HelloWorld——————————————————————————————2222");
想client发送信息,每10秒发送一个hello,很简单吧。
openfire集成了很多功能,是个很不错的服务器。