Mandato wsenhancer

La herramienta para la ampliación de entidad para las aplicaciones Java™ Persistence API (JPA) inserta código de bytes en un archivo de clase de entidad que admite el proveedor JPA gestionar el estado de una entidad. Utilice esta herramienta de línea de mandatos para mejorar entidades bajo el proveedor de la especificación Java™ Persistence API (JPA) 2.0, WSJPA/OpenJPA, para WebSphere Application Server.

JPA con el servidor de aplicaciones requiere que todas las clases de entidad se amplíen si se desea gestionar el estado de las mismas. En un entorno gestionado por contenedor, los contenedores proporcionan una ampliación automática. Sin embargo, en un entorno Java SE no hay contenedores para gestionar la persistencia y puede utilizar este mandato con frecuencia antes de empaquetar archivos de aplicación para su prueba. Después de haber creado las entidades JPA, puede ejecutar la herramienta wsenhancer para inyectar código de bytes en las entidades antes de empaquetar el archivo JAR (archivo Java) en el archivo EAR (archivador empresarial) para la aplicación.

Sintaxis

Antes de ejecutar el mandato, debe tener una copia del archivo persistence.xml en la vía de acceso de clases o especificarlo como archivo de propiedades en el argumento -p [vía-acceso_a_persistence.xml]. Emita el mandato desde el subdirectorio bin del directorio raíz_perfil.

La sintaxis del mandato es la siguiente:

[AIX][HP-UX][Linux][Solaris][z/OS]
wsenhancer.sh [parámetros][argumentos]
[IBM i]
wsenhancer [parámetros][argumentos]
[Windows]
wsenhancer.bat [parámetros][argumentos]

Parámetros

La herramienta de ampliación acepta el conjunto estándar de argumentos de la línea de mandatos definidos por la infraestructura de configuración, además de los siguientes:
  • -directory/-d <directorio_salida>: especifica la vía de acceso al directorio de salida.

    Si el directorio no coincide con el paquete de la clase ampliada, la estructura del paquete se creará debajo del directorio. De manera predeterminada, la herramienta de ampliación sobrescribe el archivo .class original.

  • -enforcePropertyRestrictions/-epr <true/t | false/f>: especifica si se generará una excepción cuando una entidad de acceso de propiedad no cumpla las restricciones impuestas sobre el acceso de propiedad.

    El valor predeterminado es false.

  • -addDefaultConstructor/-adc <true/t | false/f>: especifica que todas las clases persistentes definen un constructor sin argumentos. Este distintivo informa a la herramienta de ampliación que debe añadir un constructor sin argumentos protegido a cualquier clase persistente en la que el constructor no esté ya presente.
  • -tmpClassLoader/-tcl <true/t | false/f>: especifica si la herramienta de ampliación debe cargar las clases persistentes con un cargador de clases temporal.

    Esta función da soporte al hecho que otro código cargue la versión ampliada de la clase posteriormente dentro de la misma JVM (máquina virtual Java. El valor predeterminado se establece en true.

    Avoid trouble Avoid trouble: Si encuentra problemas en la carga de clases al ejecutar la herramienta de ampliación, puede establecer este distintivo en false como un paso de depuración.gotcha
  • Para el nombre de clase, especifique una de las opciones siguientes:
    • El nombre completo de una clase.
    • El nombre .java de una clase.
    • El archivo .class de una clase.
Si no proporciona ningún argumento en la herramienta de ampliación, se ejecutará en las clases de la lista de clases persistentes.

Uso

Para utilizar la herramienta wsenhancer necesita entidades definidas en especificaciones JPA y las entidades deben compilarse. Ejecute la herramienta wsenhancer en las entidades antes de empaquetarlas en un archivo JAR. Si las entidades ya están empaquetadas, debe extraer los archivos de clase de entidad y volver a crear el archivo JAR.

Para mejorar las entidades:
  • Verifique que las entidades se encuentran en la vía de acceso de clase y, si no lo están, añádalas.
  • Ejecute el mandato wsenhancer. Se encuentra en el directorio raíz_perfil/bin.
Se registrarán mensajes y errores en la consola administrativa, tal como se especifica en los valores del registro. Después de iniciar al mandato wsenhancer, los archivos se habrán mejorado.

Ejemplos

Para mejorar todas las entidades de la vía de acceso de clases:

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

Todas las entidades de myproject se amplían.

Para ampliar una entidad específica cuando dispone de los archivos de origen:

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

Para ampliar una entidad específica cuando dispone de los archivos de clase compilados:

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

La entidad Magazine.java ubicada en el proyecto se amplía.

Información adicional

Para obtener más información sobre las herramientas de mejora, consulte la sección sobre clases persistentes en la documentación de consulta de Apache OpenJPA.


Icon that indicates the type of topic Reference topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rejb_wsenhancer
File name: rejb_wsenhancer.html