以前のバージョンからのレコーダー実装のマイグレーション

新規の記録フレームワークでは、以前のバージョンで提供されていた汎用レコーダー・フレームワーク (GRF) が大きく改良されました。 新規のフレームワークでは、クライアントとレコーダーの結合についての柔軟性が向上しています。このフレームワークでは、1 つのセッションで複数のレコーダーとクライアントを起動して、記録されたデータを 1 つのファイルにまとめることができます。 また、このフレームワークでは TPTP Agent Controller を使用しないため、レコーダーとクライアントを別個の Java 仮想マシンで実行する必要はありません。さらに、新規のフレームワークでは、記録可能なデータ量、およびメモリー使用量への影響という観点から、パフォーマンスおよびスケーラビリティーが向上しました。

これらの改良を行うため、API が完全に再定義されました。 既存のレコーダー実装を新規のフレームワークに移行するには、多くの作業が必要です。 新規の記録フレームワークでのクラスおよびメソッドの変更点を以下の表に要約します。

以前のクラス 新規の記録フレームワーク、バージョン 8.2 以降 コメント
com.ibm.rational.test.lt.trace.PayloadMsg com.ibm.rational.test.lt.recorder.core.packet.IRecorderPacket com.ibm.rational.test.lt.recorder.core.packet.connection.IConnectionPacket この製品バージョンの直列化では、Java 直列化を使用します。パケットが接続をサポートする場合は、IConnectionPacket インターフェースおよびそのサブインターフェースを拡張してください。この拡張により、テスト生成時にフィルター機能を使用できるようになります。
org.eclipse.hyades.execution.recorder.remote.RecorderAgent com.ibm.rational.test.lt.recorder.core.extensibility.BaseRecorderDelegate run() メソッドが start() メソッドで置き換えられました。 このメソッドで開始可能なスレッドがフレームワークによってモニターされなくなりました。 setIsReady(true) メソッドが sendStarted(enabled) メソッドで置き換えられました。handleCommand(STOP) メソッドが stop() メソッドで置き換えられました。レコーダーが停止すると、クラスは sendStopped() メソッドを呼び出します。(このイベントは、以前は run() メソッドによって返されるスレッドの終了によって暗黙的に通知されていました。) このクラスを別個の JVM で実行する必要はなくなりました。
org.eclipse.hyades.execution.recorder.remote.RecorderEnvironmentAdapter org.eclipse.tptp.test.provisional.recorder.framework.AbstractRecorderExecOptionsProvider org.eclipse.hyades.execution.recorder.remote.RecorderExecutableObjectAdapter com.ibm.rational.test.lt.recorder.core.deploy.IRemoteLauncher このクラスは、レコーダー代行を別個の JVM で実行しなければならない場合にのみ必要です。このバージョンでは、起動される JVM にクラスパス・エントリーおよびシステム・プロパティーを追加することができます。JVM は常にローカル・コンピューター上で実行されるため、ファイルのデプロイメントの要件はありません。 以前のリリースでは、リモート・コンピューター上での記録はできませんでした。 AbstractRecorderExecOptionsProvider.getAgentClassPath() および RecorderExecutableObjectAdapter.getAgentClassPath() クラスが、拡張ポイントでの代行クラス宣言で置き換えられました。
org.eclipse.tptp.test.provisional.recorder.messages.AbstractRecorderMessageProvider なし このバージョンでは、IRecorderPacket 自動直列化クラスとフレームワークがメッセージ直列化を処理します。このクラスの実装は必要なくなりました。
org.eclipse.tptp.test.provisional.recorder.ui.wizards.DefaultRecWizardProvider com.ibm.rational.test.lt.recorder.ui.wizards.NewRecorderWizard com.ibm.rational.test.lt.recorder.ui.wizards.NewRecorderClientWizard  
org.eclipse.tptp.test.provisional.recorder.framework.RecorderClientHelperAdapter なし フレームワークは、このクラスが以前のバージョンで実行していたステップを自動的に処理します。
以前の拡張ポイント 新規の記録フレームワーク、バージョン 8.2 以降 コメント
org.eclipse.hyades.test.core.Recorder#Recorder.protocol com.ibm.rational.test.lt.recorder.core.recorder#recorder.outputPacket  
org.eclipse.hyades.test.core.Recorder#Recorder.id com.ibm.rational.test.lt.recorder.core.recorder#id  
org.eclipse.hyades.test.core.Recorder#Recorder.name com.ibm.rational.test.lt.recorder.core.recorder#name  
org.eclipse.hyades.test.core.Recorder#Recorder.recorderAgent com.ibm.rational.test.lt.recorder.core.recorder#recorder.delegate  
org.eclipse.hyades.test.core.Recorder#Recorder.recorderClientHelper なし フレームワークは、このクラスが以前のバージョンで処理していたステップを自動的に処理します。
org.eclipse.hyades.test.core.Recorder#Recorder.recorderMessageHandlers なし このバージョンでは、IRecorderPacket 自動直列化クラスとフレームワークがメッセージ直列化を処理します。このクラスの実装は必要なくなりました。
org.eclipse.hyades.test.core.Recorder#Recorder.wizardPageProvider com.ibm.rational.test.lt.recorder.ui.recorderClientWizard#recordersWizard.class  
org.eclipse.hyades.test.core.Recorder#Recorder.execOptionsProvider com.ibm.rational.test.lt.recorder.core.recorder#recorder.remoteLauncher AbstractRecorderExecOptionsProvider クラスについての上記のコメントを参照してください。
org.eclipse.hyades.test.core.Recorder#Recorder.requiresIntermediateFile なし このオプションはサポートされなくなりました。 記録後、記録セッションは常に保持されます。
org.eclipse.hyades.test.core.Recorder#Recorder.fileExtension なし このオプションはサポートされなくなりました。 記録形式および拡張子は、フレームワークによって .recsession ファイルで常に制御されるようになりました。
org.eclipse.hyades.test.core.Recorder#Recorder.icon com.ibm.rational.test.lt.recorder.ui.recordingUiImage#recorderImage.icon  
org.eclipse.hyades.test.core.Recorder#Recorder.description com.ibm.rational.test.lt.recorder.ui.recorderClientWizard#recordersWizard.description  

フィードバック