(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を使いたい!という人には持ってこいの一品でございました。
次回は、目次です