S2OpenAMFリリース
とりあえず置き場所が無いのでここらへんに(^_^;S2OpenAMF.zipに含まれるs2openamf.jarとその他設定ファイルとサンプルをセットアップすれば動くと思います。このアーカイブにはSeasar2, OpenAMFが含まれていません。既にSeasar2.0.6のプロジェクトをEclipse上に構築している方はOpenAMFと設定ファイルを設置することによりセットアップできます。7MBもあるS2OpenAMF-project.zipがEclipseのプロジェクトそのままです。設定ファイルだけで後は自分でセットアップできる方はこのS2OpenAMF.zipをどうぞ。
S2OpenAMFセットアップ方法を簡単にご説明。使用するものはEclipse+Tomcat Plugin+Seasar2+OpenAMFです。
- Seasar2をダウンロード
- OpenAMFをダウンロード
- S2OpenAMFをダウンロード
- 全てのJARとプロパティファイル等をEclipseのプロジェクトに追加
- OpenAMF付属のopenamf-config.xmlに下記内容を追記。JavaServiceInvokerよりの上に記述してください。
Seasar2 org.seasar.extension.openamf.S2ServiceInvoker
s2servlet org.seasar.framework.container.servlet.S2ContainerServlet configPath app-config.xml s2servlet /s2servlet
- app-config.xmlをWEB-INF/srcフォルダ直下に配置(ビルドしないならWEB-INF/classes直下)
- Tomcatを起動して、http://localhost:8080/S2OpenAMF/Calculator.swfにアクセス。ひとまずテストできます。
一度セットアップしてしまえば、サーバサイドは何も意識する必要がありません。普通のJavaからコンポーネントが呼ばれるように開発します。S2OpenAMFを使ってFlashを開発する際に、今までのFlash Remotingと異なるのは、サービス名の指定部分のみです。従来は呼び出すクラスへのパッケージ名を設定していましたが、S2OpenAMFの場合は、コンポーネント名、又はインターフェースへのパッケージ名を設定することでコンポーネントの呼び出しが行われます。
サンプルではRemoting Connectorを使っていますが、従来どおり直接書く事も可能です。
NetServices.setDefaultGatewayURL(gatewayUrl); var serviceConnection = NetServices.createGatewayConnection(); var serviceObject = serviceConnection.getService(serviceName, this); serviceObject.methodName();
のような感じですね。はしょってるのは覚えてないからです(ぉぃ)とりあえずセットアップ云々の話でした。
#注意:プロジェクトに含まれているOpenAMFのJARは最新のCVSから拾ってきてビルドしたもので、正式リリース版ではないのでお気をつけください。正式なリリースのRC5はint型の引数をもつメソッドを呼び出せないというバグがあるのでこのようにしています。