XMPP通信を提供するバックグラウンドでTigaseサーバーを利用したチャットアプリを開発しています。それに加えて、アプリケーションのライブラリとして smack/asmack を使用しています。
ユーザー間で送信されるすべてのメッセージで、実装したい機能のために、smack の Presence.setProperty() メソッドを介してパッケージ拡張機能を含めています。これは、両方のユーザーがオンラインの場合に正しく送信されます。ユーザーの 1 人がオフラインになると、Tigase サーバーはそのメッセージを保存し、ユーザーが再びオンラインになったときに配信します。問題は、Tigase がパケット拡張を含むメッセージを保存しないため、ユーザーが再びオンラインになったときに、送信されたメッセージの「一部」のみを受信することです。
Tigase のソースを見つけ、xmpp.impl パッケージの OfflineMessages クラス部分にその場所を見つけました。ここに、msgoffline プラグインが拡張機能を使用してオフライン メッセージを保存するためのコード行を挿入する必要があります。
プロジェクトのソース コード全体をビルドせずに、Tigase jar ファイルの OfflineMessages クラスをオーバーライドする最も簡単な方法は何ですか?
ubuntuサーバーでTigase-5.1.5-b3164バージョンを使用し、IDEとしてEclipseを使用しています。