【问题标题】:Openfire CallbackOnOffline plugin not triggered [plugin.callback_on_offline.url] URL for offline userOpenfire CallbackOnOffline 插件未触发 [plugin.callback_on_offline.url] 离线用户的 URL
【发布时间】:2018-10-30 09:40:59
【问题描述】:

Openfire 服务器版本 4.2.3,我使用了 CallbackOnOffline 1.2.1-SNAPSHOT,它从 GitHub 下载并生成 jar 文件 [mvn package 命令] 并通过 Openfire 管理控制台上传[我已经安装了 1.2.0 版本管理控制台并得到相同的错误]。 这是来自服务器的错误日志。

2018.10.30 09:09:11 org.jivesoftware.openfire.interceptor.InterceptorManager - Error in interceptor: com.fotsum.CallbackOnOffline@7ceec048 while intercepting: 
<message id="v12r3-44" to="user_55@18.215.249.194" from="user_70@18.215.249.194/Spark 2.6.3" type="chat">
  <body>this is log test</body>
  <thread>55H5xR</thread>
  <x xmlns="jabber:x:event">
    <offline/>
    <composing/>
  </x>
</message>
java.lang.IllegalStateException: InjectionManagerFactory not found.
    at org.glassfish.jersey.internal.inject.Injections.lambda$lookupInjectionManagerFactory$0(Injections.java:98)
    at java.util.Optional.orElseThrow(Optional.java:290)
    at org.glassfish.jersey.internal.inject.Injections.lookupInjectionManagerFactory(Injections.java:98)
    at org.glassfish.jersey.internal.inject.Injections.createInjectionManager(Injections.java:68)
    at org.glassfish.jersey.client.ClientConfig$State.initRuntime(ClientConfig.java:432)
    at org.glassfish.jersey.internal.util.collection.Values$LazyValueImpl.get(Values.java:341)
    at org.glassfish.jersey.client.ClientConfig.getRuntime(ClientConfig.java:826)
    at org.glassfish.jersey.client.ClientRequest.getConfiguration(ClientRequest.java:285)
    at org.glassfish.jersey.client.JerseyInvocation.validateHttpMethodAndEntity(JerseyInvocation.java:143)
    at org.glassfish.jersey.client.JerseyInvocation.<init>(JerseyInvocation.java:112)
    at org.glassfish.jersey.client.JerseyInvocation.<init>(JerseyInvocation.java:108)
    at org.glassfish.jersey.client.JerseyInvocation.<init>(JerseyInvocation.java:99)
    at org.glassfish.jersey.client.JerseyInvocation$AsyncInvoker.method(JerseyInvocation.java:713)
    at org.glassfish.jersey.client.JerseyInvocation$AsyncInvoker.post(JerseyInvocation.java:591)
    at com.fotsum.CallbackOnOffline.interceptPacket(CallbackOnOffline.java:130)
    at org.jivesoftware.openfire.interceptor.InterceptorManager.invokeInterceptors(InterceptorManager.java:268)
    at org.jivesoftware.openfire.interceptor.InterceptorManager.invokeInterceptors(InterceptorManager.java:230)
    at org.jivesoftware.openfire.MessageRouter.route(MessageRouter.java:172)
    at org.jivesoftware.openfire.spi.PacketRouterImpl.route(PacketRouterImpl.java:79)
    at org.jivesoftware.openfire.net.StanzaHandler.processMessage(StanzaHandler.java:384)
    at org.jivesoftware.openfire.net.ClientStanzaHandler.processMessage(ClientStanzaHandler.java:109)
    at org.jivesoftware.openfire.net.StanzaHandler.process(StanzaHandler.java:238)
    at org.jivesoftware.openfire.net.StanzaHandler.process(StanzaHandler.java:201)
    at org.jivesoftware.openfire.nio.ConnectionHandler.messageReceived(ConnectionHandler.java:177)
    at org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter.messageReceived(DefaultIoFilterChain.java:690)
    at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:417)
    at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:47)
    at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:765)
    at org.apache.mina.core.filterchain.IoFilterAdapter.messageReceived(IoFilterAdapter.java:109)
    at org.jivesoftware.openfire.plugin.RawPrintFilter.messageReceived(RawPrintFilter.java:107)
    at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:417)
    at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:47)
    at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:765)
    at org.apache.mina.core.filterchain.IoFilterAdapter.messageReceived(IoFilterAdapter.java:109)
    at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:417)
    at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:47)
    at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:765)
    at org.apache.mina.filter.codec.ProtocolCodecFilter$ProtocolDecoderOutputImpl.flush(ProtocolCodecFilter.java:407)
    at org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:236)
    at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:417)
    at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:47)
    at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:765)
    at org.apache.mina.core.filterchain.IoFilterEvent.fire(IoFilterEvent.java:74)
    at org.apache.mina.core.session.IoEvent.run(IoEvent.java:63)
    at org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.runTask(OrderedThreadPoolExecutor.java:769)
    at org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.runTasks(OrderedThreadPoolExecutor.java:761)
    at org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.run(OrderedThreadPoolExecutor.java:703)
    at java.lang.Thread.run(Thread.java:748)

还有调试日志地址:https://files.fm/u/z8x4rmsm

非常感谢任何形式的帮助。

【问题讨论】:

    标签: xmpp openfire smack


    【解决方案1】:

    我有这个问题 1 个月了。.jar 文件中有一个问题。这是棘手的部分: 您应该下载源文件并使用ants 自行编译并导出.jar 插件并将其上传到openfire 服务器。之后CallBackOnOffline 将起作用。 这是编译openfire插件的链接: compile openfire plugins

    【讨论】:

    • 您好安德斯塔,感谢您的评论。我完全按照你在那个链接上的建议做了,但不幸的是得到了下面的错误。我试过插件 1.2.0 和 1.2.1 但没有成功。你有任何可用的插件 jar 来测试它吗?错误链接:codeshare.io/aYrVQQ
    【解决方案2】:

    终于解决了。我们必须完全从头开始构建插件。您可以从此链接获取最新的调试插件 jar:https://github.com/swaponsust/CallbackOnOffline

    【讨论】:

    • 嗨@Swapon,你能描述一下如何构建这个插件吗?我已经更改了一些代码行,但我不知道如何为 openfire 构建插件。非常感谢。
    • @Fuyuba 它是由 Freelancer.com 的另一位开发人员构建的,个人资料链接:freelancer.com.bd/u/Pro4Magento
    猜你喜欢
    • 2017-03-17
    • 1970-01-01
    • 2018-08-22
    • 2012-06-09
    • 2023-03-22
    • 1970-01-01
    • 2020-05-07
    • 1970-01-01
    • 2017-03-16
    相关资源
    最近更新 更多