【发布时间】:2013-10-14 02:09:57
【问题描述】:
我正在开发一个使用 Tigase 服务器在后台提供 XMPP 通信的聊天应用程序。除此之外,我还在我的应用程序中使用 smack/asmack 作为库。
对于用户之间发送的每条消息,为了实现我想要实现的功能,我通过 smack 的 Presence.setProperty() 方法包括了包扩展,如果两个用户都在线,这些扩展是正确的。当其中一个用户离线时,Tigase 服务器会保存该消息,然后在该用户再次在线时传递该消息。问题是 Tigase 不保存包含数据包扩展名的消息,因此当用户再次在线时,它只会收到发送的消息的“部分”。
我找到了 Tigase 源代码,并在 xmpp.impl 包的 OfflineMessages 类部分中找到了该位置,我需要在其中插入一行代码,以便 msgoffline 插件使用扩展保存离线消息。
在不构建项目的整个源代码的情况下,覆盖 Tigase jar 文件中的 OfflineMessages 类的最简单方法是什么?
我在 ubuntu 服务器和 Eclipse 上使用 Tigase-5.1.5-b3164 版本作为 IDE。
【问题讨论】:
-
你想在
OfflineMessages.java中插入哪一行代码? -
我正在按照阿图尔所说的去做
标签: java eclipse smack asmack tigase