概要
インバウンド通信を使用するには,次のコンポーネントを使用します.
ActivationSpecDeployer
- インバウンド通信で利用されるアクティベーションスペックを設定するためのコンポーネントです.
MessageEndpointFactory
- インバウンド通信で利用されるメッセージエンドポイントを生成するためのコンポーネントです.
JMSContainer
- 受信したJMSメッセージをアプリケーションコンポーネントにバインドし,リスナメソッドを呼び出すコンポーネントです.
MessageEndpointActivator
- インバウンド通信によるメッセージの受信を開始・終了するコンポーネントです.
メッセージエンドポイントの設定
ActivationSpecDeployer
ActivationSpecDeployer
は,
リソースアダプタが提供するアクティベーションスペックを利用可能にするためのコンポーネントです.
ActivationSpecDeployer
の実装クラスを以下に示します.
org.seasar.jca.deploy.impl.ActivationSpecDeployer
プロパティ
プロパティ | 必須 | 説明 | デフォルト |
---|---|---|---|
activationSpecClassName |
Yes |
リソースアダプタが提供する,
javax.resource.spi.ActivationSpec の実装クラスを指定します.
|
N/A |
メソッド
メソッド | 説明 |
---|---|
setProperty(String key, String value) |
リソースアダプタ固有のプロパティを指定します. |
リソースアダプタ固有のプロパティ
リソースアダプタ固有のプロパティは,使用するリソースアダプタのドキュメントを参照してください. 主なプロダクトのドキュメントを以下に示します.
- Apache ActiveMQ
- Sun Generic Resource Adapter for JMS の「Activation Spec Properties」
MessageEndpointFactory
MessageEndpointFactory
は,
リソースアダプタからJMSメッセージを受け取るコンポーネントを生成するコンポーネントです.
MessageEndpointFactory
の実装クラスを以下に示します.
org.seasar.jms.container.impl.JMSMessageEndpointFactory
プロパティ
プロパティ | 必須 | 説明 | デフォルト |
---|---|---|---|
listenerType |
No | リスナのインタフェースを指定します. | MessageListener
|
endpointClass |
No | listenerType プロパティで指定されたリスナインタフェースを実装し,
org.seasar.jca.inbound.AbstractMessageEndpointImpl を継承したクラスを指定します.
|
JMSMessageEndpointImpl |
deliveryTransacted |
No |
メッセージをトランザクショナルに受信するにはtrue を設定します.
|
true |
メソッド
メソッド | 説明 |
---|---|
setProperty(String key, String value) |
リソースアダプタ固有のプロパティを指定します. |
MessageEndpointActivator
MessageEndpointActivator
は,
インバウンド通信によるメッセージの受信を開始・終了するコンポーネントです.
このコンポーネントは,app.dicon
の最後など,
SMART deploy や AutoRegister によるコンポーネントの登録が終わった後に
初期化される場所に定義します.
MessageEndpointActivator
の実装クラスを以下に示します.
org.seasar.jca.deploy.impl.MessageEndpointActivator
プロパティ
プロパティ | 必須 | 説明 | デフォルト |
---|---|---|---|
activationSpecDeployer |
Yes |
メッセージエンドポイントの
ActivationSepcDeployer
を指定します.
自動バインディングするには,
ActivationSepcDeployer の
コンポーネント名が,このプロパティと同じ
activationSepcDeployer の
でなくてはなりません.
それ以外の場合は明示的にプロパティを設定する必要があります.
|
N/A |
JMSコンテナの設定
JMSContainer
JMSContainer
は,受信したJMSメッセージをアプリケーションコンポーネントにバインドし,
リスナメソッドを呼び出すコンポーネントです.
JMSContainer
の実装クラスを以下に示します.
org.seasar.jms.container.impl.JMSContainerImpl
プロパティ
プロパティ | 必須 | 説明 | デフォルト |
---|---|---|---|
filters |
No |
受信したメッセージを処理するフィルタを指定します.
通常は自動バインディングされるため,明示的に設定する必要はありません.
標準的なフィルタはjms-default-filter.dicon に定義されています.
|
なし |
メソッド
メソッド | 説明 |
---|---|
addMessageListener(String messageListenerName) |
受信したJMSメッセージを処理するアプリケーションコンポーネントのコンポーネント名を指定します. 少なくとも一つのコンポーネント名を設定する必要があります. |
diconファイルへの記述は以下のようになります.
<!-- S2JMS-Container の設定 --> <component class="org.seasar.jms.container.impl.JMSContainerImpl"> <!-- アプリケーションのリスナ・コンポーネントの名前を指定します (複数指定可) --> <initMethod name="addMessageListener"> <arg>"echoListener"</arg> </initMethod> </component>