私は新しいメールを得るためにjava mail api 1.4.1を使用しています。電子メールを取得して解析するために、2つのクラスが使用されています。 "GetMail"クラスはメールサーバ(Gmail、yahooなど)と通信し、メッセージオブジェクトを取得します。その後、メッセージオブジェクトはさらに別のクラス "MailFormatter"クラスに渡され、メッセージオブジェクトを解析し、電子メールヘッダー(From、To、Subjectなど)を取得し、Multipartコンテンツを解析して本体と添付ファイルを取得します。これらのクラスは、個別のWebアプリケーションとして実装される予定です。このアプリケーションは、多数の電子メールIDの新しい電子メールを監視します。これらの( "GetMail"と "MailFormatter" ")は別々のWebアプリケーションとして実装されていますが、どのようにして" GetMail "アプリから" MailFormatter "アプリにメッセージオブジェクトを渡すことができますか?取得したメッセージオブジェクトを特定の場所(「GetMail」と「MailFormatter」の両方のアプリケーションに共通の場所)に保持する方法があるため、「GetMail」はメッセージオブジェクトをその場所に保持できます。 "MailFormatter"アプリはその場所から "Message"オブジェクトを読み込み、解析プロセスを実行することができます。メッセージオブジェクトはシリアル化できません。彼らはシリアル化することができない場合どのように私はJavaのメールメッセージオブジェクトの状態を維持することができますか?この問題を解決するために私を助けてください。アプリケーション間でjavaメールメッセージオブジェクトを渡す
2
A
答えて
1
まあ、MimeMessageはwriteTo(OutputStream)でシリアル化し、コンストラクターMimeMessage(Session、InputStream)で直列化することができます。
したがって、あるWebアプリケーションから別のWebアプリケーションにメッセージを送信できます。
0
あなたの質問に答えるつもりはありません(!)が、あなたは正しい問題を解決しているのだろうかと思います。解析は時間がかかるので、別のプロセスに分割する必要があります。あるスレッドを介してメッセージを収集しようとしましたか、別のスレッドを介してそれらを非同期に解析しましたか?私はこれがIPCの何らかの形を実行するよりも簡単だろうと思う。
あなたはがSerializable
ないオブジェクトをシリアライズしたいん場合は、XMLへ/からほとんどのものをシリアライズなる、XStreamを見てみましょう。
関連する問題
- 1. プロセス/アプリケーション間でIntPtrを渡す方法
- 2. JavaとCの間でデータを渡す
- 3. Java:クラス間で変数を渡す
- 4. WindowsアプリケーションJavaサーブレットパラメータ渡し
- 5. ビュー間で文字列を渡す:アプリケーションがクラッシュする
- 6. JavaアプリケーションとC++アプリケーション間の通信
- 7. Windows(Universal Windows Platform)アプリケーションのページ間でデータを渡す。 (C#/ MVVM)
- 8. Flex:複数のアプリケーション間でパラメータを渡す
- 9. Ionicアプリケーションのページ間でデータを渡す方法
- 10. Javaと(Rhino)Javascriptの間で共通の型を渡す
- 11. Java分散アプリケーション - メッセージ受け渡し
- 12. Windows OS環境のC++アプリケーションとJavaアプリケーション間のプロセス間通信
- 13. コントローラ間でデータを渡す
- 14. フィールド間で値を渡す
- 15. ビュー間でコアデータを渡す
- 16. クラス間でオブジェクトを渡す
- 17. コンポーネント間で値を渡す
- 18. フレックスコンポーネント間でデータを渡す
- 19. オブジェクト間でデータを渡す#
- 20. アクティビティ間でハンドラを渡す
- 21. フォーム間でデータを渡す
- 22. スレッド間でデータを渡す
- 23. アクティビティ間でフラグメントを渡す
- 24. アクション間でデータを渡す
- 25. Javaでパラメータを渡すREST
- 26. JavaでのアンドロイドのListActivities間でのデータの受け渡し
- 27. JavaでMultiClientサーバーを実行し、それらの間でコマンドを渡す方法
- 28. Symbian/QMLアプリケーションでの画面間の受け渡し
- 29. 軸2サーバとAndroidアプリケーションの間で複雑な型が渡る
- 30. ウィンドウメッセージングを使用したJAVAとC#間のアプリケーション間通信
お返事ありがとうございます。だから私はFileOutputStreamを使用し、ファイルとしてオブジェクトを保持し、MimeMessageコンストラクタ経由でそれを読むことができます。 FileOutputStreamはメッセージを持続させるのに最適ですか?永続化されたメッセージがMimeMessageでない場合はどうなりますか?入力ストリーム経由で非MIMEメッセージを読むにはどうすればよいですか?また、MimeMessageコンストラクタは、メッセージ入力ストリームを読み込むためのセッションオブジェクトを要求しています。このセッションオブジェクトを他のWebアプリケーションで作成するにはどうしたらいいですか? – jezhilvalan
@jezhilvalan私はMimeMessageにキャストできないメッセージを誰かが知っている現実のシナリオを知らないのですか? – Persimmonium
@Persimmonium:Java Mail JARには 'MimeMessage'のインプリメンテーションしかありませんが、将来の拡張のためにおそらく' Message'インターフェースが存在します。 – kevinarpe