2012-03-01 8 views
1

私はMS Exchangeサーバーに接続するWebサービスクライアントを持っています。初期接続時間はこのシステムでは非常に長く、約30秒です。だから私は私のアプリケーションサーバーを起動し、ステートレスejbsがMS Exchangeサーバーに再接続せずにこの接続を使用できるようにするとすぐにこの初期接続を開きたいと思います。私の解決策は、シングルトンEJBを作成して、ステートレスejbに挿入して、接続が常に開いているようにすることです。シングルトンEJBがガベージコレクションを取得できるように見えるため、これが確実に機能しないことはいつもわかります。接続を維持してJava EE環境で利用できる最良の方法

私のqustionはこれです:これは正しい方法ですか、この "サービスプロバイダ"の問題に対して別の方法を使用する必要がありますか?シングルトンのガーベジコレクションについて正しいものがあれば、避けることができますので、時折再接続する必要はありませんか?フィードバックとご意見ありがとう!

+0

シングルトンがガベージコレクトされる問題は、古いJVMでのみ発生します。この記事を読んだことがありますか?私は他の人に答えて投稿したhttp://stackoverflow.com/questions/9514425/best-way-to-keep-a-connection-alive-and-available-in-java-ee-environmentあなたの質問ですか? – perissf

+0

「Exchange Server」はMicrosoft Exchangeを意味しますか? –

+0

@PiotrekDeはいそうです。今すぐ更新しました。 – Marthin

答えて

0

Exchangeサーバーへの接続が1つだけの場合は、接続を静的変数に格納します。接続を返す前にチェックして自動再接続するゲッターを介して接続を提供するクラスにラップします。

関連する問題