org.seasar.jms.container.impl
クラス JMSContainerImpl

java.lang.Object
  上位を拡張 org.seasar.jms.container.impl.JMSContainerImpl
すべての実装されたインタフェース:
MessageListener, Disposable, JMSContainer

public class JMSContainerImpl
extends Object
implements JMSContainer, Disposable

S2JMS-Containerの実装クラスです。

S2JMS-ContainerはJCAのメッセージエンドポイントとして受信したJMSメッセージを受け取り、 登録されているメッセージリスナーコンポーネントのリスナーメソッドを呼び出します。 メッセージリスナーコンポーネントはそのコンポーネント名をaddMessageListenerメソッドで登録します。 S2JMS-Containerはメッセージを受信するたびにS2コンテナからメッセージリスナーコンポーネントを名前でルックアップします。 その際に、S2JMS-Containerは受信したメッセージをS2コンテナの外部コンテキストのリクエストオブジェクトとして登録するため、 メッセージリスナーコンポーネントのインスタンス属性を request または prototype にすることにより、 JMSメッセージやそのヘッダ・プロパティ・ペイロードをメッセージリスナーコンポーネントにインジェクションすることが可能です。

作成者:
y-komori

入れ子のクラスの概要
 class JMSContainerImpl.FilterChainImpl
          フィルタチェーンの実装クラスです。
 
フィールドの概要
protected  S2Container container
          S2コンテナ
protected  Filter[] filters
          フィルタの配列
protected  boolean initialized
          インスタンスが初期化済みならtrue
protected  ConcurrentMap<Class<?>,MessageListenerSupport> listenerSupportMap
          リスナコンポーネントにJMSメッセージをバインドするコンポーネントのMap
protected  List<String> messageListeners
          メッセージリスナのコンポーネント名の配列
 
コンストラクタの概要
JMSContainerImpl()
           
 
メソッドの概要
 void addMessageListener(String messageListenerName)
          メッセージリスナーコンポーネントを登録します。
protected  MessageListenerSupport createMessageListenerSupport(Class<?> clazz)
          メッセージリスナーのサポートオブジェクトを作成して返します。
 void dispose()
          インスタンスをクリアします。
protected  MessageListenerSupport getMessageListenerSupport(Class<?> clazz)
          メッセージリスナーのサポートオブジェクトを返します。
 void initialize()
          インスタンスを初期化します。
protected  void invokeMessageListeners(Message message)
          メッセージリスナーコンポーネントのリスナーメソッドを呼び出します。
 void onMessage(Message message)
          JMSメッセージを受信した際に呼び出されます。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

container

protected S2Container container
S2コンテナ


filters

protected Filter[] filters
フィルタの配列


initialized

protected boolean initialized
インスタンスが初期化済みならtrue


messageListeners

protected List<String> messageListeners
メッセージリスナのコンポーネント名の配列


listenerSupportMap

protected ConcurrentMap<Class<?>,MessageListenerSupport> listenerSupportMap
リスナコンポーネントにJMSメッセージをバインドするコンポーネントのMap

コンストラクタの詳細

JMSContainerImpl

public JMSContainerImpl()
メソッドの詳細

initialize

public void initialize()
インスタンスを初期化します。


dispose

public void dispose()
インスタンスをクリアします。

定義:
インタフェース Disposable 内の dispose

onMessage

public void onMessage(Message message)
JMSメッセージを受信した際に呼び出されます。

定義:
インタフェース MessageListener 内の onMessage
パラメータ:
message - 受信したJMSメッセージ

addMessageListener

public void addMessageListener(String messageListenerName)
メッセージリスナーコンポーネントを登録します。

定義:
インタフェース JMSContainer 内の addMessageListener
パラメータ:
messageListenerName - メッセージリスナーコンポーネント名

invokeMessageListeners

protected void invokeMessageListeners(Message message)
                               throws Exception
メッセージリスナーコンポーネントのリスナーメソッドを呼び出します。

パラメータ:
messageListener - メッセージリスナーコンポーネント
message - JMSメッセージ
例外:
Exception - リスナーメソッドの処理中に例外が発生した場合にスローされます

getMessageListenerSupport

protected MessageListenerSupport getMessageListenerSupport(Class<?> clazz)
メッセージリスナーのサポートオブジェクトを返します。

パラメータ:
clazz - メッセージリスナークラス
戻り値:
メッセージリスナーのサポートオブジェクト

createMessageListenerSupport

protected MessageListenerSupport createMessageListenerSupport(Class<?> clazz)
メッセージリスナーのサポートオブジェクトを作成して返します。

パラメータ:
clazz - メッセージリスナークラス
戻り値:
メッセージリスナーのサポートオブジェクト


Copyright © 2005-2007 The Seasar Foundation. All Rights Reserved.