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(String)メソッドで登録します。 S2JMS-Containerはメッセージを受信するたびにS2コンテナからリスナ・コンポーネントを名前でルックアップしますします。

S2JMS-Containerにフィルタを設定することにより、リスナ・メソッドを呼び出すまでに任意の処理を組み込むことが可能です。

作成者:
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メッセージ
例外:
RuntimeException - リスナ・コンポーネントまたはフィルタで例外が発生した場合にスローされます

addMessageListener

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

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

invokeMessageListeners

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

パラメータ:
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.