Comando wsenhancer

A ferramenta otimizadora de entidade para os aplicativosJava™ Persistence API (JPA) insere o bytecode em um arquivo de classe de entidade que suporta o provedor JPA para gerenciar o estado de uma entidade. Use essa ferramenta da linha de comandos para aprimorar entidades no provedor de especificação Java™ Persistence API (JPA) 2.0, WSJPA/OpenJPA, para WebSphere Application Server.

A JPA com o servidor de aplicativos requerem que todas as classes de entidades sejam aprimoradas para que seu estado seja gerenciado. Em um ambiente gerenciado por contêiner, o aprimoramento automatizado é fornecido pelos contêineres. Em um ambiente Java SE, entretanto, não há contêineres para gerenciar persistência e você poderá usar este comando com frequência antes de compactar os arquivos de aplicativo para teste. Depois de ter criado as entidades JPA, você poderá executar a ferramenta wsenhancer para injetar o bytecode nas entidades antes de compactar o arquivo Java archive (JAR) no arquivo enterprise archive (EAR) para o aplicativo.

Sintaxe

Antes de executar o comando, você deve ter uma cópia do arquivo persistence.xml no caminho de classe ou especificá-lo como um arquivo de propriedades no argumento -p [path_to_persistence.xml]. Emita o comando a partir do subdiretório bin do diretório profile_root.

A sintaxe de comandos é a seguinte:

[AIX][HP-UX][Linux][Solaris][z/OS]
wsenhancer.sh [parameters][arguments]
[IBM i]
wsenhancer [parameters][arguments]
[Windows]
wsenhancer.bat [parameters][arguments]

Parâmetros

A ferramenta de aprimoramento aceita o conjunto padrão de argumentos da linha de comandos definidos pela estrutura de configuração juntamente com o seguinte:
  • -directory/-d <output directory>: Especifica o caminho para o diretório de saída.

    Se o diretório não corresponder ao pacote de classe aprimorado, a estrutura do pacote será criada sob o diretório. Por padrão, o otimizador sobrescreve o arquivo .class original.

  • -enforcePropertyRestrictions/-epr <true/t | false/f>: Especifica se uma exceção é gerada quando uma entidade de acesso à propriedade não estiver obedecendo às restrições que são colocadas no acesso de propriedade.

    O padrão é configurado para false.

  • -addDefaultConstructor/-adc <true/t | false/f>: Especifica que todas as classes persistentes definem um construtor de não argumento. Este sinalizador informa ao otimizador para incluir um construtor de nenhum argumento protegido em qualquer classe persistente na qual o construtor ainda não esteja presente.
  • -tmpClassLoader/-tcl <true/t | false/f>: Especifica se o otimizador deve carregar classes persistentes com um carregador de classes temporário.

    Esta função suporta outro código para carregar versão aprimorada da classe posteriormente na mesma Java virtual machine (JVM). O padrão é configurar como true.

    Evitar Problemas Evitar Problemas: Se você estiver tendo problemas de carregamento de classe quando executar o otimizador, poderá configurar este sinalizador para false como uma etapa de depuração.gotcha
  • Para o nome de classe, especifique um dos seguintes:
    • O nome completo de uma classe.
    • O nome .java de uma classe.
    • O arquivo .class de uma classe.
Se você não fornecer argumentos para o otimizador,ele será executado nas classes da lista de classes persistente.

Uso

Para usar a ferramenta wsenhancer, são necessárias entidades definidas nas especificações JPA e as entidades devem ser compiladas. Execute a ferramenta wsenhancer nas entidades antes de compactá-las em um arquivo JAR. Se as entidades já estiverem compactadas, extraia os arquivos de classe de entidade, execute o otimizador e recrie o arquivo JAR.

Para aprimorar suas entidades:
  • Verifique se suas entidades estão no caminho de classe e inclua-as se elas não estiverem.
  • Execute o comando wsenhancer. Ele está localizado no diretório profile_root/bin.
As mensagens e os erros são registrados no console administrativo, conforme especificado nas configurações de log. Após iniciar o comando wsenhancer, seus arquivos serão aprimorados.

Exemplos

Para aprimorar todas as entidades no caminho da classe:

[AIX][HP-UX][Linux][Solaris][z/OS]
$ cd build
/home/user/myproject/build $ ${profile_root}/bin/wsenhancer.sh
[IBM i]
$ cd build
/home/user/myproject/build $ ${profile_root}/bin/wsenhancer
[Windows]
C:\myproject\cd build
C:\myproject\build>%profile_root%\bin\wsenhancer.bat 

Todas as entidades em myproject foram aprimoradas.

Para aprimorar uma entidade específica quando você tiver os arquivos de origem:

[AIX][HP-UX][Linux][Solaris][z/OS]
$ cd build
/home/user/myproject/build $ ${profile_root}/bin/wsenhancer.sh Magazine.java
[IBM i]
$ cd build
/home/user/myproject/build $ ${profile_root}/bin/wsenhancer Magazine.java
[Windows]
C:\myproject\cd build
C:\myproject\build>%profile_root%\bin\wsenhancer.bat Magazine.java

Para aprimorar uma entidade específica quando você tiver os arquivos de classe compilados:

[AIX][HP-UX][Linux][Solaris][z/OS]
$ export CLASSPATH=target/classes
$ ${profile_root}/bin/wsenhancer.sh /bin/wsenhancer.sh target/classes/jpa/example/MyEntity.class
[IBM i]
$ export CLASSPATH=target/classes
$ ${profile_root}/bin/wsenhancer target/classes/jpa/example/MyEntity.class
[Windows]
C:> cd build
C:\build> SET CLASSPATH=target\classes
C:\build>%profile_root%\bin\wsenhancer.bat \bin\wsenhancer.bat target\classes\jpa\example\Magazine.class

A entidade Magazine.java localizada no projeto está aprimorada.

Informações Adicionais

Para obter informações adicionais sobre as ferramentas de aprimoramento, consulte a sessão sobre classes persistentes na documentação do Apache OpenJPA.


Ícone que indica o tipo de tópico Tópico de Referência



Ícone de registro de data e hora Última atualização: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rejb_wsenhancer
Nome do arquivo: rejb_wsenhancer.html