Adobe® Flex™ Data Services 2 へようこそ。Flex Data Services 2 は、Flex の次世代プレゼンテーションサーバーです。Flex Data Services 2 では、現在の Flex 1.5 の機能に、データ管理サービスやエンタープライズメッセージングサポートなど、多数の新機能が追加されています。
このページは、次の項で構成されています。
関連トピック :
ここでは、Flex Data Services 2 の主な新機能と変更点を説明します。新機能、サンプル、および例の詳細については、Flex デベロッパーセンターを参照してください。
Flex Data Services 2.0.1 アップデートにより、Mercury QuickTest Professional 9.1 (QTP) および Flex 2.0.1 アプリケーションに対する Adobe Flex オートメーションの使用がサポートされます。
メモ : Flex オートメーションを使用するには、次の製品をインストールしておく必要があります。
Flex Data Services 2 は Flex 1.5 のメジャーアップグレードなので、Flex 1.5 アプリケーションは Flex 2 でコンパイルする前に移行しておく必要があります。詳細については、『既存の Flex アプリケーションの Flex 2 への移行』を参照してください。
160813 - ネストされたコレクションのページングは、遅延ロードを使用しないと機能しません。遅延ロードを使用していない場合は、ネストされたコレクション全体がクライアントに送信されます。
168162 - データコレクションオブジェクトの ID 列の更新は、禁止されていませんが、サポートもされていません。その結果、アセンブラでは処理できそうにないことを示すメッセージが表示されます。
170877 - ネストされたコレクションの直下に子を作成した場合、その親に対して revert を呼び出しても、作成した子がコミット時に insert をサーバーにサブミットしないようにすることはできません。子の出力先を指すデータサービスインスタンスを別に作成し、それに対して revert を呼び出す必要があります。
172819 - ページングが有効になっているデータ指定済みコレクションを変更する場合、ポーリングが使用されていると、クライアントは、変更に関するサーバーからの通知を受信するより前に、コレクションに含まれている変更済みアイテムのページ要求の結果を受信する可能性があります。この場合、次回のポーリングでプッシュされた更新が受信されるまで、コレクションには新旧の結果が混在して表示されます。
173464 - 一部のクラスでは、flash.utils.IExternalizable インターフェイスを使用して、カスタム直列化や特定のデータ型をサポートしています。Flex Data Services 2 には、Flex 専用のこのような型に対応する Java 実装があります。出力先の要求により、ArrayCollection、ObjectProxy、ManagedObjectProxy のいずれかの型を、RMI などのテクノロジを使用するリモートエンドポイントに送信する必要がある場合、リモートエンドポイントのソースパスにこれらの Java 実装が必要になります。これを実現するには、flex-messaging.jar をリモートエンドのソースパスに追加します。
173605 - WebService は、dateTime 値が UTC 時間のオフセットか 'Z' マーカーかに関係なく、一律に UTC として扱います。UTC dateTime ではない値が適切に処理されるようにするには、dateTime 値を文字列として送受信するよう Web サービスを変更し、クライアントまたはサーバーでそれを解析して、必要に応じて UTC ではない日付に変換する必要があります。
174538 - DataService.release() メソッドを呼び出すと、すべての管理対象コレクションが、解放されるだけでなく、クリアもされます。管理対象コレクションをクリアしないで解放するには、DataService.releaseCollection() メソッドを呼び出してください。
174823 - アイテムをネストされた関連付けから削除しないまま削除すると問題が発生します。
175519 - クライアントから削除したアイテムが、そのクライアントによって管理されている別なアイテムにより参照されている場合、Flex Data Management Services は、該当する参照をクリアするため、参照先アイテムの変更を自動的にキューに格納します。その後、削除したばかりのアイテムの変更を元に戻そうとすると、アイテムは再び追加されますが、参照は自動的には復元されません。関連する DataServices が使用する dataStore 上のすべての変更を復元すると、クリアされた参照を含むすべての変更がすべて復元されますが、復元先は deletedItem になります。
155283 - log4j または commons-logging を統合インストールと併用するには、次の手順に従います。
<?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE jrun-web-app PUBLIC "-//Macromedia, Inc.//DTD jrun-web 1.0//EN" "http://www.macromedia.com/dtd/jrun-web.dtd"> <!-- ============================================================= --> <!-- This XML file contains web application elements that are --> <!-- specific to the JRun Application Server --> <!-- ============================================================= --> <jrun-web-app> <load-system-classes-first>false</load-system-classes-first> </jrun-web-app>
これにより、"/WEB-INF/classes/commons-logging.properties" ファイルが
最初に取得されます。
org.apache.commons.logging.LogFactory=org.apache.commons.logging.impl.LogFactoryImpl #org.apache.commons.logging.Log=org.apache.commons.logging.impl.SimpleLog org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger #org.apache.commons.logging.Log=org.apache.commons.logging.impl.Jdk14Logger
log4j または commons-logging と、有効化された JRun Axis Web サービスを併用するには、次の手順に従います。
85034 - TextArea の行終端は UNIX 形式です。したがって、Windows 形式の復帰改行 (\r\n) を指定すると、改行が 1 行余計に挿入されます。テキストを UNIX 形式の行終端に変換するには、String.replace() と正規表現を使用します。次に例を示します。
private static const windowsCRLF:RegExp = /\r\n/gm; ... myTextString = myTextString.replace(windowsCRLF, "\n");
192217 - 管理コレクションのアイテムをコミット操作なしに挿入し、削除すると、それ以降の更新をコミットしたときにサーバーサイド例外 (トランザクション完了中のエラー : java.lang.NullPointerException) が生じる場合があります。これを回避するには、新しいアイテムを削除する代わりに、dataService.revertChanges() を呼び出してすべての変更を取り消します。
192253 - 親および複数の子が同じトランザクションで挿入されたときに、子の ID の一部がサーバーで生成された値に更新されない場合があります。回避策として、次の操作があります。
192420 - 競合ハンドラが割り当てられていない場合、サーバー競合は、FDS が更新をコミットするときにアプリケーション内に残っています。競合するデータに対して編集されている場合、[未解決の競合があります。] というダイアログボックスが表示されます。
バグ No. なし - Flex Data Services サンプルは、展開済みの Web アプリケーション構造で実行する必要があります。圧縮された WAR ファイルから実行することはできません。
バグ No. なし - Flash Player とデバッグ - Flex アプリケーションをデバッグを有効にしてコンパイルし、fdb を実行すると、2 分後に [接続できませんでした。セッションタイムアウトです。] というエラーメッセージが表示されます。この場合は、Flash Player のコンテンツデバッガバージョンを実行していることを確認してください。
この現象が発生する可能性があるのは、スタンダード版 Flash Player のバージョン 9.0.16.0 以降を Adobe ダウンロードサイトからインストールし、その後で Flex Data Services 2 に付属の Flash Player をインストールした場合、または Flash Player を Flex Data Services 2 からインストールし、その後で Adobe のダウンロードサイトから Flash Player をスタンダード版 Flash Player 9.0.16.0 以降に更新した場合です。
この問題を解消する方法については、http://www.adobe.com/go/758bf58b を参照してください。
バグ No. なし - secure-amf チャネルを Internet Explorer と HTTPS と併用している場合、Flex は応答を受信しません。これについては、Internet Explorer と no-cache HTTP ヘッダーを受信する HTTPS 要求とに問題があることがわかっています。Flex Data Services 2 エンドポイントが応答で no-cache ヘッダーを送信しないようにするには、次の設定を secure-amf channel-definition
<add-no-cache-headers>false</add-no-cache-headers>
この項では、Flex を使用した自動化されたテスト機能の既知の問題について説明します。
click イベントの前に次のコードを追加します。
<browser>.FlexApplication("flexstore_swf").FlexPanel("Browse").FlexCanvas("products").FlexCanvas("Nokia 6010").MouseMoveautomationIndex を使用して、選択するアイテムを判別する必要があります。