以下は、2つのアプローチを使用しています、私はどちらが良いか理解するのを助けてください!その同期プロセス。ActiveMQ Request/Reply Pattern:以下のアプローチでは、以下のような優れたパフォーマンスが得られますか?
アプローチ1:(任意の接続オブジェクトを閉じていない)
以下クラスでのConnectionFactoryを作成し、そのクラスのプール
ConnectionPool.java(ブローカURLと異なるプロデューサのプールを維持することを維持します)
private static Map<String, Producer> producers
public static ProducerPool getInstance() {
if(INSTANCE==null){
producers = Maps.newConcurrentMap();
INSTANCE= new ProducerPool();
}
return INSTANCE;
}
Producer.java(ここで作成されたすべての接続オブジェクト)
private ActiveMQConnection connection;
private ActiveMQSession session;
private MessageProducer producer;
return consumer.receive(5000);
したがって、100 reqもある場合、接続、プロデューサ、セッションは1つだけ維持されます。
アプローチ2:
(クローズすべての接続、セッション、プロデューサ要求ごとではなくシングルトン)3
アプローチ:
(保つのみ接続生きて閉鎖要求ごとにセッションとプロデューサを作成し、要求ごとに閉じられるものを再作成する)
パフォーマンス向上のためのアプローチはどれですか?私たちは再利用できる1つ(接続rセッションrプロデューサ)の要求の応答パターンの最大レベルですか? (誰もがそれを使用する方法の例を支援することができます!)1が従うべき助けてください
PooledConnectionFactory: は一目を持っていました!