(7)S2Factory for FDS2 のソースを読む


■lines86 クラスの宣言

extends RemotingServiceInvokerImpl
implements FlexFactory
となっています。

前回の資料から、FlexFactoryをimplementsすることが義務でした。
また、RemotingServiceInvokerImplは、MessageProcessorから呼び出される、RemotingServiceを実行するクラスです。

S2Flex2 ソースコードリーディング2 - hirossy javaとFlex2と。

■lines160  initialize()メソッド

設定xmlファイルに記述された情報をConfigMapとして引数で受けています。
次に、SingletonContainerInitializerの代わりの記述があります(というコメントと数行のプログラムがある)
S2Containerを読んだ事がないので、ちょっとわかりません。
その後、SingletonS2ContainerFactoryでコンテナを取得して、
RemotingServiceLocatorコンポーネントインスタンスを取得しています。

■lines135 lookup()メソッド

initialize()メソッドで取得したRemotingServiceLocatorから、serviceNameをキーにserviceインスタンスを取得して返します。
実際のサービスクラスの実行はAdapterが行うようです。


以上です。
AMFからオブジェクトへの変換は、FlexDataService側で行っていることがわかりました。



途中、FlexBuilder2.0.1に変わったのとFDSがLCDS2.5に変わったのとかで
うまく動かせませんでしたが、いったん終わりにしたいと思います。


FDSを利用しつつ、サーバサイド(java)はSeasar2を使いたい!という人には持ってこいの一品でございました。

次回は、目次です