JCA 入門記 ライフサイクル管理 その 2
今日も頑張ってハッスル! ハッスル!!
そんなわけで (どんなわけで?),昨日出てきた二つの interface
について学習します♪
5.3.2 ManagedConnectionFactory JavaBean and Outbound Communication
まずは次の interface
.
ManagedConnectionFactory
こいつを実装したクラスもまた JavaBean らしいです.
その Bean が何者かというと,アプリケーションから EIS への outbound な接続に関する情報を表現するそうな.
ちなみに,「outbound」「inbound」って日本語ではなんというのでしょう? 意味は分かるんだけどっていうか気持ちは分かるんだけど,どんな言葉を使えばいいかが分かりません.無念だ.
昔風 (?) の言い方だと「発呼」「着呼」? とりあえず outbound/inbound のままでいいか.
なんにせよ,javax.sql.DataSource
や javax.jms.ConnectionFactory
と似たような位置づけですね.奴らと同じように,接続先を示す情報を持つようです.
ただし,大きな違いが一つあって,それは ManagedConnectionFactory
はリソースアダプタのインスタンスと結びつけられていること.それで何かいいことがあるのかというと,コンフィグレーション情報の「デフォルト値」を引き継ぐのだとか.っていうか,引き継ぐように ManagedConnectionFactory
を実装しなければならないということか?
そんなわけで (どんなわけで?),ManagedConnectionFactory
の実装クラスは,次の interface
を implements
することができるようです (must とは書いてないみたいだけど must かも?).
ResourceAdapterAssociation
こいつは次のメソッドを持っています.
-
void setResourceAdapter(ResourceAdapter)
なんか Spring 臭いなぁ.(^^;
JavaBean という扱いならこんな interface
必要ない気もするのですけどね?
ともあれ (JW),アプリケーションサーバはこのメソッドを呼び出すことで,ManagedConnectionFactory
な JavaBean を ResourceAdapter
と関連づけなければなりません.それはきっちり一回だけとのこと.一つの ManagedConnectionFactory
をいろいろな ResourceAdapter
に使い回ししてはいけないということね.
ManagedConnectionFactory
は,setResourceAdapter(ResourceAdapter)
が呼び出された際にいろいろ初期化したりするものと思われますが,それに失敗したら例外 (ResourceException
) をスローすればいいようです.
outbound な通信はアプリケーションからの要求により開始されます.その際に使われるスレッドはアプリケーションのものですが,リソースアダプタは自前のスレッド (昨日出てきた Work
を使うのでしょう) を介してもいいらしいです.
5.3.3 ActivationSpec JavaBean and Inbound Communication
続いては次の interface
ActivationSpec
を implements
した JavaBean について.
こいつは ManagedConnectionFactory
とは逆に,EIS からアプリケーションへの inbound な接続に関する情報を表現したものらしいです.
それでですね,こいつは ResourceAdapterAssociation
を extends
した interface
なんですねぇ〜.ManagedConnectionFactory
はそうなってないんだけど.どうして非対称?
ともあれ (JW),こいつもまた ResourceAdapter
な JavaBean に関連づけられて,それをデフォルトのコンフィグレーションとして引き継ぐようです.
ManagedConnectionFactory
の場合と同様,setResourceAdapter(ResourceAdapter)
が呼び出されるのは正確に一回きり.失敗したら ResourceException
をスローするがよい.
inbound な通信は EIS 側から開始されます.その際に使われるスレッドはリソースアダプタのスレッドで,アプリケーションのスレッドは使用されません.
ということで本日はここまで.
ちょっとあっけないけど次のがちょっと長く見えたので.
っていうか,ちょっと気になる記事を見かけたのでそっちを書きたいのだ (苦笑).