サードパーティのメールサーバー (smtp.gmail.com など) を使用せずに、添付ファイル付きの電子メールを送信しようとしています。
基本・準備
このスレッドでは、最初に MimeMessage を作成してから で送信するというアドバイスに従いましたmyMailQue.queMail(msg);
。
テストパッケージで問題なく動作します。端末に次の出力が表示されます。
Jul 31, 2015 2:28:00 PM Aspirin run
INFORMATION: QueManager.run(): QueManager started.
Jul 31, 2015 2:28:01 PM Aspirin run
INFORMATION: RemoteDelivery (RemoteDelivery-1).run(): Try to give back RemoteDelivery object into the pool.
そして数秒後にメールが到着。
問題
OSGi フレームワーク (felix) で使用しようとすると、メールが送信されません。上記の出力であっても、例外やその他の情報は出力されません。
バンドル版の aspirin-jar が見つからなかったので、自分で bnd に変換しました。このような:
java -jar bnd-2.1.0.jar wrap jar/aspirin-0.8.3.jar
私のテスト
変換された jar がバンドル フォルダーにあるので、ワイヤリング パッケージの問題はないので、動作するはずですか? 問題の例:
Unresolved constraint in bundle edu.hm.ee.hem.validation [5]: Unable to resolve 5.0: missing requirement [5.0] osgi.wiring.package; (osgi.wiring.package=org.masukomi.aspirin.core)
呼び出し元のコードは、アスピリンバンドルqueMail(msg)
の他のメソッドを呼び出すことができます。たとえば、関数を前後に 1 回呼び出しています。結果は 0 と 1 です。これは理にかなっています (imo)。myMailQue.getQueueSize()
queMail(msg)
このセットアップが機能しないことに本当に混乱しています。特に例外がなければ、何が問題なのか理解するのが難しいです
したがって、テスト パッケージとフレームワークの唯一の違いは、変換された jar だと思います。どうすれば問題を解決できるか考えている人はいますか?
事前にどうもありがとうございました
PSこれは私の最初の質問です(私はたくさん読んだことがあります;)重要な情報が欠けている場合、または質問の形式がわかりにくい場合は、ヒントを教えてください。