私は新しいメールを得るために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. UWPアプリケーション間で情報を渡す
- 3. Java、クラス間で値を渡す
- 4. Java:クラス間で変数を渡す
- 5. JavaとCの間でデータを渡す
- 6. WindowsアプリケーションJavaサーブレットパラメータ渡し
- 7. JavaアプリケーションとC++アプリケーション間の通信
- 8. ビュー間で文字列を渡す:アプリケーションがクラッシュする
- 9. MVCアプリケーションの複数のビュー間でデータを渡す
- 10. デバッグ中にビジュアルスタジオのC#アプリケーションとCコンソールアプリケーション間でデータを渡す
- 11. iOSアプリケーションのView Controller間でBOOLを渡す|
- 12. Flex:複数のアプリケーション間でパラメータを渡す
- 13. Ionicアプリケーションのページ間でデータを渡す方法
- 14. Windows(Universal Windows Platform)アプリケーションのページ間でデータを渡す。 (C#/ MVVM)
- 15. 2つのAzureアプリケーション間でデータを渡す
- 16. Windows OS環境のC++アプリケーションとJavaアプリケーション間のプロセス間通信
- 17. Java分散アプリケーション - メッセージ受け渡し
- 18. Javaが2つのクラス間でデータを渡す
- 19. switch javaのケース間でユーザー入力を渡す
- 20. javaとnodejの間でmongodbデータを渡す
- 21. Javaと(Rhino)Javascriptの間で共通の型を渡す
- 22. JAVA - クラス間の値の受け渡し
- 23. XamarinアプリケーションとJava Androidアプリケーションの間でsqliteデータベースを共有する方法
- 24. フィールド間で値を渡す
- 25. フレックスコンポーネント間でデータを渡す
- 26. ビュー間でコアデータを渡す
- 27. コントローラ間でデータを渡す
- 28. アクティビティ間でハンドラを渡す
- 29. ビューモデル間でデータを渡す
- 30. アクティビティ間で 'データソース'を渡す
お返事ありがとうございます。だから私はFileOutputStreamを使用し、ファイルとしてオブジェクトを保持し、MimeMessageコンストラクタ経由でそれを読むことができます。 FileOutputStreamはメッセージを持続させるのに最適ですか?永続化されたメッセージがMimeMessageでない場合はどうなりますか?入力ストリーム経由で非MIMEメッセージを読むにはどうすればよいですか?また、MimeMessageコンストラクタは、メッセージ入力ストリームを読み込むためのセッションオブジェクトを要求しています。このセッションオブジェクトを他のWebアプリケーションで作成するにはどうしたらいいですか? – jezhilvalan
@jezhilvalan私はMimeMessageにキャストできないメッセージを誰かが知っている現実のシナリオを知らないのですか? – Persimmonium
@Persimmonium:Java Mail JARには 'MimeMessage'のインプリメンテーションしかありませんが、将来の拡張のためにおそらく' Message'インターフェースが存在します。 – kevinarpe