A nova estrutura de gravação inclui melhorias significativas sobre a estrutura de gravador genérica (GRF) fornecida nas versões anteriores. A nova estrutura apresenta mais flexibilidade para combinar clientes e gravadores. Com ela, você pode iniciar vários gravadores e clientes em uma sessão, consolidando os dados gravados em um arquivo.
Além disso, a estrutura não usa o TPTP
Agent Controller e, portanto, não exige que os gravadores e clientes sejam executados em uma Java Virtual Machine separada. Finalmente, a nova estrutura tem desempenho melhorado e melhor escalabilidade em termos de quantidade de dados graváveis e de impacto no uso da memória.
A API foi completamente redefinida para produzir essas melhorias.
A migração de implementações de gravadores existentes para a nova estrutura requer esforço significativo. As seguintes tabelas resumem as mudanças nas classes e métodos da nova estrutura de gravação.
Classe anterior |
Nova estrutura de gravação, versão 8.2 e posterior |
Comentários |
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 |
Use a serialização Java para serialização nesta versão do produto. Se os pacotes suportarem conexões, estenda a interface IConnectionPacket e suas subinterfaces. Essa extensão permite os recursos de filtragem no momento da geração do teste. |
org.eclipse.hyades.execution.recorder.remote.RecorderAgent |
com.ibm.rational.test.lt.recorder.core.extensibility.BaseRecorderDelegate |
O método run() foi substituído pelo método start().
Os encadeamentos que esse método pode iniciar não são mais monitorados pela estrutura. O método setIsReady(true) foi substituído pelo método sendStarted(enabled). O método handleCommand(STOP) foi substituído pelo método stop(). A classe chama o método sendStopped() quando o gravador para. (Esse evento foi anteriormente notificado implicitamente pelo término do encadeamento retornado pelo método run().)
Essa classe não precisa mais ser executada em uma JVM separada. |
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 |
Esta classe será necessária apenas se o delegado de gravador precisar ser executado em uma JVM separada. Com essa versão, você pode incluir entradas de caminho de classe e propriedades do sistema para a JVM ativada. Não há requisitos para a implementação de arquivo, pois a JVM é sempre executada no computador local.
A gravação em computadores remotos nunca foi ativada nas liberações anteriores.
As classes AbstractRecorderExecOptionsProvider.getAgentClassPath() e RecorderExecutableObjectAdapter.getAgentClassPath() são substituídas pela declaração de classe de delegado no ponto de extensão. |
org.eclipse.tptp.test.provisional.recorder.messages.AbstractRecorderMessageProvider |
Nenhum |
A classe de serialização automática IRecorderPacket e a estrutura manipulam a serialização da mensagem nesta versão. A implementação dessa classe não é mais necessária. |
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 |
Nenhum |
A estrutura manipula automaticamente a etapa que esta classe concluiu nas versões anteriores. |
Ponto de extensão anterior |
Nova estrutura de gravação, versão 8.2 e posterior |
Comentários |
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 |
Nenhum |
A estrutura manipula automaticamente a etapa que esta classe manipulou nas versões anteriores. |
org.eclipse.hyades.test.core.Recorder#Recorder.recorderMessageHandlers |
Nenhum |
A classe de serialização automática IRecorderPacket e a estrutura manipulam a serialização da mensagem nesta versão. A implementação dessa classe não é mais necessária. |
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 |
Consulte o comentário anterior sobre a classe AbstractRecorderExecOptionsProvider. |
org.eclipse.hyades.test.core.Recorder#Recorder.requiresIntermediateFile
|
Nenhum |
Esta opção não é mais suportada. As sessões de gravação são sempre mantidas após a gravação. |
org.eclipse.hyades.test.core.Recorder#Recorder.fileExtension |
Nenhum |
Esta opção não é mais suportada. O formato e a extensão de gravação agora são sempre controlados pela estrutura em um arquivo .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 |
|