在openfire中很多地方用到了类似如下的代码:
PropertyEventListener propListener = new PropertyEventListener() {
public void propertySet(String property, Map params) {
}
public void propertyDeleted(String property, Map params) {
}
public void xmlPropertySet(String property, Map params) {
}
public void xmlPropertyDeleted(String property, Map params) {
}
};
PropertyEventDispatcher.addListener(propListener);
其工作原理是怎么回事的呢?
先来看看PropertyEventDispatcher这个类,其类中有一个集合
private static Set<PropertyEventListener> listeners =
new CopyOnWriteArraySet<PropertyEventListener>();
用来存储PropertyEventListener,并提供增加和删除监听器的方法。
其事件类型有4种:
property_set,
property_deleted,
xml_property_set,
xml_property_deleted;
对于Property属性,很多操作是用JiveGlobals的相关方法,在另外的以篇文章中介绍了JiveGlobals有2种类型的属性管理,一种是基于XML本地文件的XMLProperties,一种是基于数据库ofproperty的数据库属性管理。
当调用JiveGlobals的put方法的时候,如:
public String put(String key, String value){
--前面的省略....
PropertyEventDispatcher.dispatchEvent(key, PropertyEventDispatcher.EventType.property_set, params); --此为触发对应的事件监听器。
}
其他的方法也是这个样。
此篇文章就到此,稍后会有更多关于openfire的个人解读。
联系方式(qq):851392159
相关推荐
先说一下为什么要写这篇博客,是因为本人在周末在研究XMPP和OpenFire,从网上下载了个Demo,但跑不起来,花了很长时间,经改造后,跑起来了,写个篇博文也是希望后边学习XMPP和OpenFire的同学下载后直接运行,少走...
openfire服务端自带jre
接到activeMQ信息通过openfire给用户推送公告信息,【升级版】,添加个性属性字段,信息更加多样化,保持mq持续连接,添加日志功能
是因为:openfire_i18n_zh_CN.properties(国际化的中文版文件)和配置openfire_i18n_en.properties(国际化英文版文件)相比少了一些属性,取不到, 页面上直接显示了所要找的属性名,所以显示了?号, 这里本本人写了一个小...
Openfire最主要的功能是实现XMPP服务器,Openfire的核心功能可以概括为:连接管理、消息解析、消息路由、消息发送.
openfire mac系统安装文件 Openfire (formerly Wildfire) is a cross-platform real-time collaboration server based on the XMPP (Jabber) protocol.
openfire_4_1_0.服务器版本,无法免资源分数上传。百度网盘链接:http://pan.baidu.com/s/1jIh76ku 密码:zruk
扩展openfire的服务端代码。实现了图片,语音,视频发送,可创建群组。发表签名等功能。可作为android和ios聊天的服务端。
openfire使用hazelCast集群
openfire本身并不支持集群部署,需要通过插件来扩展。因为openfire采用的协议很多,运行时打开端口也很多,所以做负载均衡时也是个很大的挑战。 本方案采用Openfire的Hazelcast插件进行集群部署,采用Haproxy进行...
Openfire数据结构详解
jitsi 基于 openfire 的 视频通话 客户端
非常详细的openfire的表结构介绍,能够帮助你对openfire的表结构信息由清晰的认识
openfire源码分析资料,本人参与公司openfire修改,以及二次开发,终于找到了比较全面的openfire资料;吐血推荐,是openfire分析,修改,二次开发不可多得的资料。内附详细源码分析以及二次开发的方法还有数据库表...
openfire简介.pdf openfire简介.pdf
让人快速上手openfire插件的开发,让你节省更多时间了解源码。
windows环境下的openfire服务器,用于消息推送
openfire处理消息流程及openfire详细信息
openfire4.6.0 x64