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

java.lang.Object
  上位を拡張 org.seasar.jms.container.impl.MessageListenerSupport

public class MessageListenerSupport
extends Object

メッセージリスナコンポーネントへのJMSメッセージのバインドや、リスナメソッドの呼び出しを行うクラスです。

作成者:
koichik

入れ子のクラスの概要
static class MessageListenerSupport.EmptyBuilder
          リスナメソッドに引数がない場合に使われるビルダです。
static class MessageListenerSupport.MessageBuilder
          リスナメソッドの引数がMessageの場合に使われるビルダです。
static interface MessageListenerSupport.ParameterBuilder
          JMSメッセージからリスナメソッドの引数を構築するビルダのインタフェースです。
static class MessageListenerSupport.PayloadBuilder
          リスナメソッドの引数がMessage以外の場合に使われるビルダです。
 
フィールドの概要
protected  List<Binder> binders
          リスナメソッドにJMSメッセージをバインドするコンポーネントの配列
static String DEFAULT_MESSAGE_HANDLER_NAME
          デフォルトのリスナメソッド名
protected  Method method
          リスナコンポーネントのリスナメソッド
protected  MessageListenerSupport.ParameterBuilder parameterBuilder
          リスナメソッドの引数に対応したビルダ
 
コンストラクタの概要
MessageListenerSupport(Class<?> clazz)
          インスタンスを構築します。
 
メソッドの概要
 void bind(Object listener, Message message, Object payload)
          リスナコンポーネントにJMSメッセージをバインドします。
 String getListenerMethodName()
          リスナメソッドの名前を返します。
protected  MessageListenerSupport.ParameterBuilder getParameterBuilder(Method method)
          リスナメソッドの引数に対応したビルダを返します。
 void invoke(Object listener, Message message)
          リスナコンポーネントのリスナメソッドを呼び出します。
protected  void setupBinderFromField(BeanDesc beanDesc)
          リスナコンポーネントのフィールドからバインダを準備します。
protected  void setupBinderFromProperty(BeanDesc beanDesc)
          リスナコンポーネントのプロパティからバインダを準備します。
protected  void setupListenerMethod(Class<?> clazz)
          リスナコンポーネントのリスナメソッドを準備します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

DEFAULT_MESSAGE_HANDLER_NAME

public static final String DEFAULT_MESSAGE_HANDLER_NAME
デフォルトのリスナメソッド名

関連項目:
定数フィールド値

binders

protected final List<Binder> binders
リスナメソッドにJMSメッセージをバインドするコンポーネントの配列


method

protected Method method
リスナコンポーネントのリスナメソッド


parameterBuilder

protected MessageListenerSupport.ParameterBuilder parameterBuilder
リスナメソッドの引数に対応したビルダ

コンストラクタの詳細

MessageListenerSupport

public MessageListenerSupport(Class<?> clazz)
インスタンスを構築します。

パラメータ:
clazz - リスナコンポーネントのクラス
メソッドの詳細

bind

public void bind(Object listener,
                 Message message,
                 Object payload)
リスナコンポーネントにJMSメッセージをバインドします。

パラメータ:
listener - リスナコンポーネント
message - JMSメッセージ
payload - JMSメッセージのペイロード

invoke

public void invoke(Object listener,
                   Message message)
            throws Exception
リスナコンポーネントのリスナメソッドを呼び出します。

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

getListenerMethodName

public String getListenerMethodName()
リスナメソッドの名前を返します。

戻り値:
リスナメソッドの名前

setupBinderFromField

protected void setupBinderFromField(BeanDesc beanDesc)
リスナコンポーネントのフィールドからバインダを準備します。

パラメータ:
beanDesc - リスナコンポーネントのBeanDesc

setupBinderFromProperty

protected void setupBinderFromProperty(BeanDesc beanDesc)
リスナコンポーネントのプロパティからバインダを準備します。

パラメータ:
beanDesc - リスナコンポーネントのBeanDesc

setupListenerMethod

protected void setupListenerMethod(Class<?> clazz)
リスナコンポーネントのリスナメソッドを準備します。

パラメータ:
clazz - リスナコンポーネントのクラス

getParameterBuilder

protected MessageListenerSupport.ParameterBuilder getParameterBuilder(Method method)
リスナメソッドの引数に対応したビルダを返します。

パラメータ:
method - リスナメソッド
戻り値:
リスナメソッドの引数に対応したビルダ


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