El mandato ejbdeploy

Si el archivo JAR o EAR de entrada contiene beans CMP, la herramienta de despliegue de EJB busca un esquema y una correlación existente que se va a utilizar cuando se genera el código de despliegue. Si no se encuentra ningún esquema ni correlación existente, se crea el esquema y la correlación utilizando las reglas de correlación descendente.

En el enfoque de correlación descendente, ya hay beans de empresa existentes y sus diseños determinan el diseño de la base de datos. El esquema generado contiene una tabla para cada bean de entidad CMP. En estas tablas, cada columna se corresponde con un campo CMP del bean de empresa y la correlación generada asocia el campo con la columna.

Sintaxis

Utilice el mandato siguiente y los parámetros opcionales, si se proporciona el esquema y la correlación en el archivo EAR o JAR de entrada:

ejbdeploy nombre_EAR_entrada|nombre_JAR_entrada directorio_trabajo nombre_EAR_salida|nombre_JAR_salida [-bindear "opciones"] [-cp classpath] [-codegen] [-debug] [-keep] [-ignoreErrors] [-quiet] [-nowarn] [-noinform] [-rmic "opciones"] [-target nombre] [-trace] [-sqlj]

Utilice el mandato siguiente y los parámetros opcionales, si el esquema y la correlación no están disponibles en el archivo EAR o JAR de entrada y es necesario el enfoque de correlación descendente:

ejbdeploy nombre_EAR_entrada|nombre_JAR_entrada directorio_trabajo nombre_EAR_salida|nombre_JAR_salida [-bindear "opciones"] [-cp classpath] [-codegen] [-dbname "nombre"] [-dbschema "nombre"] [-dbvendor nombre] [-debug] [-keep] [-ignoreErrors] [-quiet] [-nowarn] [-noinform] [-rmic "opciones"] [-35] [-40] [-target nombre] [-trace] [-sqlj][-OCCColumn]
Nota:
  • Las opciones -dbschema, -dbname, -dbvendor, -OCCColumn, -35 y -40 sólo se utilizan cuando se crea una definición de base de datos en modalidad de funcionamiento descendente. La información de la base de datos se guarda en el documento del esquema en el archivo JAR o EAR, lo que significa que no es necesario volver a especificar las opciones. También significa que cuando se genera un archivo JAR o EAR, la base de datos correcta debe estar ya definida, porque no se puede modificar más adelante.
  • Por omisión, se crea un archivo DDL (Lenguaje de definición de datos) con el programa de fondo establecido en DB2 para Windows, V8.1 y UNIX, donde el ID de programa de fondo es DB2UDB_V81, cuando ejecuta el mandato ejbdeploy. Si desea establecer otro programa de fondo de base de datos, utilice las opciones: -dbname, -dbschema y -dbvendor para especificar su opción. No obstante, sólo puede tener definido un programa de fondo. Si el archivo JAR ya contiene un programa de fondo de DB2 y especifica -dbvendor ORACLE en la línea de mandatos, en lugar de obtener un segundo programa de fondo, la especificación dbvendor se pasa por alto.
ejbdeploy
Mandato para generar código de despliegue. Si se ejecuta sin argumentos, el mandato ejbdeploy muestra una lista de argumentos que se pueden ejecutar con el mandato.
nombre_JAR_entrada o nombre_EAR_entrada
Nombre plenamente cualificado del archivo JAR o EAR de entrada que contiene los beans de empresa para los que desea generar el código de despliegue; por ejemplo, c:\ejb\inputJARs\myEJBs.jar. (Este argumento es necesario).

El mandato ejbdeploy ya no utiliza lo que se especifica en la classpath del sistema.En su lugar, las clases dependientes tiene que estar contenidas en un archivo JAR o incluidas en el proceso del mandato con la opción -cp. Debe asegurarse de que los archivos .class de las clases locales y remotas de cada bean de empresa se empaqueten en el archivo JAR o EAR de entrada.

No incluya archivos de código fuente en el archivo JAR o EAR de entrada. Si hay archivos de código fuente en el archivo JAR o EAR de entrada, la herramienta EJBDeploy ejecutará un nueva generación de código antes de generar el código de despliegue. Recomendación: elimine los archivos de código fuente o incluya todas las clases dependientes y los archivos de recursos en la classpath. De lo contrario, esto podría producir problemas durante la nueva generación de código de la aplicación en el servidor.

directorio_trabajo
Nombre del directorio en el que se almacenan los archivos temporales necesarios para la generación del código. (Este argumento es necesario). Si el directorio de trabajo especificado ya existía antes de ejecutar el mandato ejbdeploy, los archivos temporales se generan en el directorio de trabajo (como un espacio de trabajo Eclipse). No obstante, si el directorio de trabajo no existía antes de ejecutar el mandato, se crea el directorio y se genera dentro del mismo el espacio de trabajo Eclipse. En ambos casos, el espacio de trabajo y todos sus archivos se eliminan automáticamente cuando se completa la generación del código de despliegue, a no ser que especifique la opción -keep. (La conservación del espacio de trabajo es útil en la determinación de problemas.)
nombre_JAR_salida o nombre_EAR_salida
Nombre plenamente cualificado del archivo JAR o EAR de salida creado por el mandato ejbdeploy que contiene las clases generadas necesarias para el despliegue; por ejemplo: c:\ejb\outputJARs\myEJBs.jar.  (Este argumento es necesario.) Los directorios especificados en el nombre plenamente cualificado deben existir antes de ejecutar el mandato ejbdeploy. (Tenga en cuenta que cuando especifica un nombre para el archivo JAR o EAR de salida y ejecuta el mandato ejbdeploy, los archivos JAR o EAR de salida que hubiera con el mismo nombre se sobrescribirán sin notificación previa.)
-cp classpath
Si tiene previsto ejecutar el mandato ejbdeploy con archivos JAR o EAR que dependen de otros archivos ZIP o JAR, puede utilizar la opción -cp para especificar la classpath de los otros archivos JAR o ZIP. Si utiliza la opción -cp, puede especificar varios archivos ZIP o JAR como argumentos. No obstante, los nombres de archivo ZIP y JAR deben ser plenamente cualificados, estar separados por punto y coma e ir encerrados entre comillas dobles. Por ejemplo: -cp "path\miJar1.jar;path\miJar2.jar; path\miJar3.jar"
Consejo: Es necesario especificar la ubicación de las clases de conversor SQLJ, sqlj.zip. La vía de acceso por omisión de este archivo es x:\java, donde x es el directorio de instalación de DB2, por ejemplo, d:\sqllib\java\sqlj.zip en Windows.
-codegen
Restringe el mandato ejbdeploy a una de las siguientes operaciones: (a) importar el código desde el archivo JAR o EAR de entrada (b) generar el código de despliegue y (c) exportar el código al archivo JAR o EAR de salida. No compilará el código de despliegue generado ni ejecutará el compilador RMIC (Remote Method Invocation Compiler). Dado que el código fuente Java no se suele exportar en el EAR o JAR de salida, este es el único modo de guardar el código generado.
-bindear "opciones"
Permite llenar un archivo EAR con enlaces. Este argumento se aplica sólo a los archivos EAR. También puede utilizar este mandato sin especificar ninguna opción. Las opciones deben estar separadas por un espacio, y cerradas entre comillas dobles. Por ejemplo: -bindear "xx yy zz" Para obtener más información sobre estas opciones, consulte la documentación de WebSphere Application Server.
-dbname "nombre"
Nombre de la base de datos que desea definir en el archivo DDL (Lenguaje de definición de datos) que se genera. Si el nombre de la base de datos contiene espacios, el nombre completo debe estar entre comillas dobles. Por ejemplo: -dbname "mi base de datos"
-dbschema "nombre"
Nombre del esquema que desea crear. Si el nombre del esquema contiene espacios, el nombre completo debe estar entre comillas dobles. Por ejemplo: -dbschema "mi esquema"
-dbvendor nombre
Nombre del proveedor de la base de datos, que se utiliza para determinar los tipos de columna de la base de datos, la información de correlación, Table.ddl y otro tipo de información. Los valores válidos de proveedor de base de datos son:
  • DB2UDB_V81 (DB2 Universal Database V8.1 para Windows y UNIX)
  • DB2UDB_V82 (DB2 Universal Database V8.2 para Windows y UNIX)
  • DB2UDBOS390_V7 DB2 Universal Database para z/OS y OS/390, V7)
  • DB2UDBOS390_V8 (DB2 Universal Database para z/OS y OS/390, V8)
  • DB2UDBISERIES (DB2 para iSeries)
  • DB2UDBISERIES_V52 (DB2 para iSeries, V5R2)
  • DB2UDBISERIES_V53 (DB2 para iSeries, V5R3)
  • ORACLE_V8 (Oracle, V8.0)
  • ORACLE_V9I (Oracle, V9i)
  • ORACLE_V10G (Oracle, V10g)
  • INFORMIX_V73 (Informix Dynamic Server.2000, V7.3)
  • INFORMIX_V93 (Informix Dynamic Server.2000, V9.3)
  • INFORMIX_V94 (Informix Dynamic Server.2000, V9.4)
  • SYBASE_V1200 (Sybase Adaptive Server Enterprise, V12.0)
  • SYBASE_V1250 (Sybase Adaptive Server Enterprise, V12.5)
  • MSSQLSERVER_2000 (Microsoft SQL Server 2000)
  • MSSQLSERVER_V7 (Microsoft SQL Server, V7.0)
  • CLOUDSCAPE_V5 (Cloudscape, V5.1)
  • DERBY_V10 (Derby, V10)

Se desechan los siguientes ID de programa de fondo:

  • SQL92 (1992 SQL Standard)
  • SQL99 (1999 SQL Standard)

Aunque se desechan SQL92 y SQL99, las opciones SQL92 y SQL99 siguen estando disponibles. Si se utiliza la opción SQL92 o SQL92, se genera el código SQL para Cloudscape V5. Si determina utilizar el ID de programa de fondo SQL92 o SQL99 desechado, consulte el tema Sintaxis de consulta de EJB en SQL para ayudarle a determinar qué programa de fondo debe utilizar, en un futuro cercano, cuando ya no estén disponibles los programas de fondo SQL92 y SQL99.

Si desea utilizar una base de datos no compatible, consulte el tema Sintaxis de consulta de EJB en SQL para ayudarle a elegir un programa de fondo de un proveedor de base de datos que más se aproxime a su entorno de despliegue no compatible.

Nota:
  • El valor por omisión es DB2UDB_V81 (DB2 para Windows, V8.1 y UNIX)
  • Si se especifica -sqlj, admite DB2UDB_V82 (DB2 para Windows, V8.2 y UNIX), DB2UDB_V81 (DB2 para Windows, V8.1 y UNIX), DB2UDBOS390_V8 (DB2 para OS/390, V8) y DB2UDBOS390_V7(DB2 para OS/390, V7).
-debug
Especifica que el código de despliegue se compilará con información de depuración.
-keep
Controla la disposición de los archivos temporales creados (es decir, el espacio de trabajo Eclipse) al ejecutar el mandato ejbdeploy. Sin esta opción, el espacio de trabajo Eclipse se elimina al completarse el mandato.
-ignoreErrors
Especifica que el proceso debe continuar, aunque se hayan detectado errores de validación.
-quiet
Durante la validación, suprime los mensajes de estado (pero no suprime los mensajes de error).
-nowarn
Durante la validación, suprime los avisos y los mensajes informativos.
-noinform
Durante la validación, suprime los mensajes informativos.
-rmic "opciones"
Permite pasar opciones RMIC a RMIC. Las opciones, que se describen en la documentación de RMI Tools de Sun, deben estar separadas por un espacio, y cerradas entre comillas dobles. Por ejemplo: -rmic "-nowarn -verbose"
-35
Si desea utilizar para los beans de entidad CMP las reglas de correlación descendente que se utilizaron en la herramienta de despliegue de EJB que se proporcionaba con WebSphere Application Server, Versión 3.5, especifique la opción -35. Esto puede ser recomendable en algunas situaciones. No obstante, si no especifica la opción -35, se utiliza una forma de correlación descendente que es mejor que la anterior.
-40
Utilice las reglas de correlación descendente de WebSphere Application Server 4.0.
-target nombre
Especifique un entorno de ejecución de WebSphere concreto en el que desea compilar la aplicación. Si se selecciona el objetivo de ejecución se configurará la biblioteca de JRE que se va a utilizar, así como la classpath del proyecto que va a contener las bibliotecas de ejecución de WebSphere. Entre los nombres de servidor válidos están:
  • WAS510 (WebSphere Application Server, V5.1)
  • WAS502(WebSphere Application Server, V5.02)
  • WAS501(WebSphere Application Server, V5.01)
  • WAS500(WebSphere Application Server, V5.0)
-trace
Genera mensajes de progreso adicionales en la consola.
-sqlj
Nota: Esta opción sólo es válida en beans de empresa compatibles con la especificación 2.0.

Permite utilizar SQLJ en lugar de JDBC para hacer llamadas a una base de datos DB2. Con la opción -sqlj especificada, la herramienta de despliegue de EJB genera código SQLJ para que los beans CMP utilicen SQLJ para acceder a la base de datos. También llama automáticamente al conversor SQLJ para traducir los archivos de código fuente SQLJ. Finalmente, la herramienta de despliegue de EJB creará un script Ant para ayudarle a personalizar fácilmente los perfiles de SQLJ. Puede ejecutar el script Ant con el perfil para producir un paquete DB2. Estos paquetes DB2 se pueden durante la ejecución para evitar las comprobaciones adicionales de código en tiempo de ejecución. Una vez que se ha generado el código de despliegue para SQLJ utilizando la herramienta de despliegue de EJB, debe ejecutar el programa de personalización de SQLJ de DB2, db2sqljcustomize, en el archivo .ser generado, que se encuentra en la subcarpeta de la carpeta websphere_deploy asociada al programa de fondo de DB2. Consulte la documentación de DB2 para obtener más información sobre cómo ejecutar el programa de personalización de perfiles SQLJ de DB2 o visite la página www7b.boulder.ibm.com/dmdd/zones/java/bigpicture.html (sección SQLJ support).

-OCCColumn
Nota: Esta opción sólo es válida en beans de entidad CMP EJB 2.x cuando se genera la correlación descendente.
Permite añadir columnas a la tabla de base de datos relacional para la detección de conflictos. La columna de detección de conflictos es la columna de base de datos adicional reservada para determinar si se ha actualizado un registro. La adición de una columna de detección de conflictos es un esquema de control de concurrencia optimista alternativo de incluir atributos en un predicado para propósitos de acceso optimista. Para gestionar la columna de detección de conflictos, tendrá que proporcionar su propia implementación del desencadenante de base de datos. A continuación figura el resultado de añadir una columna para la detección de conflictos:
  • El tipo de datos de la columna de detección de conflictos es un entero de 64 bits.
  • El convenio de denominación de la columna de detección de conflictos tiene este formato: OCC_nombre_bean
  • La correlación descendente genera una columna relacional adicional. No se puede correlacionar esta columna con el bean de empresa.

Ejemplo: ejecutar el mandato ejbdeploy:

ejbdeploy AccessEmployee.ear d:\deploydir  AccessEmployee_sqlj.ear -dbvendor DB2UDB_V81 -keep -sqlj -cp "e:\sqllib\java\sqlj.zip"
Explicación:

Se ha instalado DB2 Universal Database (versión 8.1 para Windows y UNIX) en e:\sqllib.

El mandato ejbdeploy toma el archivo AccessEmployee.ear (con beans de empresa compatibles con la especificación EJB 2.0) como entrada y produce AccessEmployee_sqlj.ear como salida. Como se utiliza la opción -sqlj, se utiliza SQLJ en lugar de JDBC en el código generado para realizar llamadas a DB2.

Cuando se ejecuta ejbdeploy, se crea un espacio de trabajo Eclipse en el directorio que especifique como el directorio de trabajo: d:\deploydir. Una vez ejecutado el mandato, el espacio de trabajo se suprime. No obstante, la opción -keep hace que ejbdeploy finalice sin suprimir el espacio de trabajo.

Conceptos relacionados
Herramienta de despliegue de EJB
Requisitos para desplegar aplicaciones de EJB con SQLJ
Programa de personalización de perfiles SQLJ de DB2
Tareas relacionadas
Generar código de despliegue de EJB desde la línea de mandatos
Información relacionada
Desplegar aplicaciones EJB con SQLJ para el acceso a datos
Condiciones de uso | Comentarios
(C) Copyright IBM Corporation 2000, 2005. Reservados todos los derechos.