2017-03-19 9 views
0

Outlookアカウントを使用してメールを送信するutiltiyを作成しています。そのため、javax.mail.Messageのオブジェクトを作成して送信しています。 SendingFailedExceptionのためにメッセージの送信が失敗した場合は、それらのメッセージをjmsキューに追加し、他のエンドリスナーで10分間隔で実行してキューからメッセージを消費し、それらのメッセージを再送信しようとします。javax.mail.Messageのカスタムカスタムオブジェクトをjmsキューに入れる方法(Activemqを使用)

私はxmlまたはJSONにメッセージを変更するように指示された、同じことに関連するstackoverflowトピックをいくつか経験しています。これを実装する方法があれば、対処方法を知りたいだけです。あなたはバイトストリームにメッセージを回すことができるMimeMessage.writeTo methodを使用して、事前

答えて

1

感謝。これをByteArrayOutputStreamで収集し、そのバイトをJMSメッセージに含めます。もう一方の端では、MimeMessage constructor that takes an InputStreamを使用してメッセージを再構成できます。例えば

ByteArrayOutputStream bos = new ByteArrayOutputStream(); 
msg.writeTo(bos); 
byte[] data = bos.toByteArray(); 
// put the data in a JMS message 

// in the receiver, extract the byte array from the message 
byte[] data = ... 
MimeMessage msg = new MimeMessage(session, data); 

申し訳ありませんが、私はJMS部分であなたを助けることができません。

+0

コメントありがとうございます。同じことについてもっと詳しくご説明いただければ幸いです。(例があれば) –

+0

上記のサンプルコードを追加しました。 –

+0

おかげさまで、ありがとうございました。 –

関連する問題