Openfire Plugin插件执行时机

在openfire中,消息通过路由,先会经过Interceptor过滤一遍消息:

28A57B00-9DE9-4b0a-BA5B-99EE762602F6.png


过滤后继续路由,此时就会经过我们自定义的Plugin插件了:

D154CB67-AD93-4e5a-9DF8-40AA50D05F6E.png


会根据domain查找我们自定义的Plugin插件:

29996C2F-0B8F-47ae-A0F8-F55764B5068E.png


本质就是从Map中获取,在初始化时插件就被添加进去了。

这里需要注意消息格式:

[group]@[serviceName].[server]


serviceName就是在初始化中自己定义的:

22783F62-4611-4899-BE91-91ABFE77A090.png


server就是域名。


找到之后就会调用Plugin插件中的processPacket:

9525A3DA-02E6-4b82-B8A3-A51296CE5A10.png


至此,我们自定义的插件Plugin就会正常执行了!


需要注意的点就是:serviceName的设置,以及要处理的消息to属性的设置,必须一致!!!


 

展开阅读全文