2010年4月7日水曜日

BlazeDS 入門記(Configuring channels with servlet-based endpoints)

BlazeDS architecture / Channels and endpoints / Configuring channels with servlet-based endpoints

以下、特に気になった点。
  • AMFEndpoint と HTTPEndpoint はシンプルな servlet ベースの endpointで、RPC の時はポーリング無しで普通にアクセスし、メッセージングの場合はポーリングがロングポーリングをするのが普通。
  • polling-enabled はオプション。デフォルトでは false。(ってドキュメントに書かれているけどたぶんウソ。実際にやってみると、未指定でもポーリングされる。明示的に false を指定するとポーリングされなくなる。)
  • polling-interval-millis はオプション。デフォルトは 3000。0 に設定すると、現在ポーリング中のメッセージを受けると即座に次のポーリングを行う。
  • wait-interval-millis はオプション。デフォルトは 0。サーバー側がポーリングを受け付けた際に、データが存在しない場合にどれだけ待つかの設定。値が0だとサーバーは一切待たない。値が-1だと次のメッセージが用意できるまでサーバはレスポンスを返さないで待ち続ける。BlazeDS 的には1分を推奨しているが、GAE環境では30秒ルールがあるのでせいぜい20秒程度が妥当か?っていうか、GAE環境でポーリング自体が妥当なのか検証する必要があるが、、、。
  • client-wait-interval-millis はオプション。デフォルトは 0。クライアント側がポーリングのレスポンスを受けた後にどれだけ休むかを指定する。0を指定すると、polling-interval-millis のみによって次のポーリングのタイミングを決定する。このオプションは polling interval を上書きするので、この値を 1 にすると、ポーリングのメッセージを受け付けるとすぐに次のポーリングを始めるので、リアルタイムストリーミングのようになる。サーバー側で待ち時間を発生させていない環境では、このオプションを使わずに polling-interval-millis を使いましょう。
  • max-waiting-poll-requests はオプション。デフォルトは 0。サーバー側のポーリング返信待ち状態スレッド数の上限。このスレッド数が上限に達すると、それ以降のポーリングリクエストは即座に返却される(wait-interval-millis のような動きになる)。
  • piggybacking-enabled はオプション。デフォルトは false。これを true にすると、同一チャネルのあらゆるメッセージのレスポンスをポーリングのレスポンス代わりに使うことができる。
  • login-after-disconnect はオプション。デフォルトは false。これを true にすると、メッセージがセッション切れで認証できなくなってエラーになっった場合に、自動的に最認証してメッセージも再送してくれる。これは便利かも。クライアント側のコードで、この手のエラーハンドリングをしなくてもよくなるわけですねー。
  • flex-client-outbound-queue-processor はオプション。pub-subモデルの場合、サーバ側にsubscribeしたクライアントの数だけ外向けのキューのプロセッサのインスタンスができるらしい。そのプロセッサ実装へのプロパティをこのプロパティで指定するとのこと。
  • serialization はオプションで、endpoint に対する serialization のプロパティ。独自の externalize とかできるっぽい。燃えますね。
  • connect-timeout-seconds はオプション。クライアント側のチャネルの接続試行のタイムアウト時間設定。
  • invalidate-session-on-disconnect はオプション。デフォルトでは disabled。enabledにすると、サーバがクライアントチャネルからの disconnect メッセージを受け取ると、対応するセッションを無効にする。同一ブラウザで複数の swf ファイルを起動したときなど、ブラウザレベルでセッションが共有されるわけだが、そのような場合でも1つの disconnect メッセージで問答無用にセッションが切られるということですね。
  • add-no-cache-headers はオプション。デフォルトでは true。pragma no-cache header をつける。

0 件のコメント:

コメントを投稿