2009-04-27 9 views

答えて

6

Spring JMSにはいくつかの警告があります。

  1. JMS接続ファクトリで直接Spring JMSを使用することは絶対に避けてください。これはSpring(特にJmsTemplate)が接続を開き、1つのメッセージに使用して閉じた後に閉じるためです。これは、接続ファクトリが実際に接続プールである場合に使用する正しいパターンです。しかし、それが単なる接続ファクトリーであれば、負荷のかかった状態でサーバーを破棄することになります。これは通常、J2EEコンテナの内部ではなく、スタンドアロンアプリケーションを実行しているときにのみ問題になります。通常は、リソースアダプタなどがあります。 Springは接続を再利用するSingleConnectionFactory Beanを提供しますが、クラスタ化されたサーバーを使用している場合には最適なソリューションではなく、接続の負荷を分散して作業する必要があります。
  2. Spring APIは、すべて一度に1つのメッセージを処理するように設計されています。いくつかの場合、バッチのメッセージを扱うことができる場所では、Springを使用して接続ファクトリなどを提供するのが望ましいかもしれませんが、メッセージI/Oを実際に行うために独自のコードをロールバックしてください。このようにして、たとえば、トランザクションセッションを設定し、100のメッセージを処理した後、肯定応答をバッチとしてコミットすることができます。これにより、安全に行うことができると想定して、サーバーの負荷を軽減することができます。
+1

"Spring APIはすべて、時間 " 私はそうは思わない。メッセージを消費してDefaultMessageListenerContainerなどを定義するだけであれば、メッセージを消費するonMessageメソッドを定義するだけです。実行時または構成時にコンシューマを増減できます。 –

5

Spring in Actionをチェックアウトできます。私は役に立つと思ったSpringからのJMSを使ったメッセージングについての章を持っています。

関連する問題