Técnicas para probar una rutina Java

Puede probar sus rutinas Java como programas independientes, utilizar IBM Db2 for z/OS Developer Extension o escribir su propia información de depuración a partir de las rutinas.

Probar la rutina como programa autónomo

Antes de invocar sus rutinas Java desde aplicaciones SQL, es una buena idea ejecutar las rutinas como programas independientes, que son más fáciles de depurar. Un programa Java que se ejecuta como rutina solo requiere un Db2 paquete. Sin embargo, para poder ejecutar el programa como programa autónomo, debe vincular un plan de DB2 para él.

Utilizar Db2 Developer Extension (solo procedimientos almacenados)

Db2 Developer Extension es una extensión para Microsoft Visual Studio Code, que proporciona soporte de lenguaje para Db2 for z/OS SQL. Proporciona una interfaz gráfica de usuario para depurar procedimientos almacenados de Java. Para obtener información sobre cómo utilizar Db2 Developer Extension para depurar procedimientos almacenados de Java, consulte Depuración de procedimientos almacenados externos de Java y SQLJ.

Para configurar un subsistema de Db2 for z/OS para que funcione con Db2 Developer Extension, cuando configure su entorno de procedimiento almacenado, siga estos pasos adicionales:
  1. Personalice y ejecute el programa DSNTIJRT para definir procedimientos almacenados que proporcionen soporte de servidor para Db2 Developer Extension.

    DSNTIJSD está en el conjunto de datos con prefijo .SDSNSAMP. El prólogo del trabajo contiene las instrucciones para la personalización.

  2. Defina el procedimiento almacenado que desea probar con la opción ALLOW DEBUG MODE en la sentencia CREATE PROCEDURE o ALTER PROCEDURE.
  3. Cuando prepare el procedimiento almacenado para su ejecución, especifique la opción -g en el mandato javac.

    -g hace que el compilador genere toda la información de depuración del programa.

    .
  4. Otorgue el privilegio DEBUGSESSION al usuario que ejecuta el cliente de depuración.
  5. Realice las modificaciones siguientes en el entorno WLM del procedimiento almacenado:
    • En el procedimiento de inicio del entorno WLM, establezca NUMTCB=1.
    • En el procedimiento de inicio del entorno WLM, incluya una sentencia DD PSMDEBUG para dirigir el registro de diagnóstico de depuración a un conjunto de datos. Puede asignarlo a un conjunto de datos SYSOUT o a un conjunto de datos preasignado. El conjunto de datos debe haberse creado con las características RECFM=VBA y LRECL=4096.
    • En los valores de ENVAR del conjunto de datos JAVAENV, establezca USE_LIBJVM_G=YES.
    • Si el rango de puertos de depuración 8000::8050 no es aceptable, en los valores de ENVAR del conjunto de datos JAVAENV establezca JVM_DEBUG_PORTRANGE en el rango de puertos en los que la JVM está a la escucha para las conexiones de depuración.

Habilitar la recopilación de información de depuración de DB2

Incluya una sentencia DD JSPDEBUG en el procedimiento de inicio para el espacio de direcciones de procedimiento almacenado. Esta declaración DD especifica un conjunto de datos al que Db2 escribe información de depuración para que la utilice el servicio de asistencia técnica de IBM®.

Escribir información de depuración propia desde la rutina

Una técnica útil para la depuración consiste en incluir llamadas System.out.println y System.err.println en el programa para grabar mensajes en los archivos STDERR y STDOUT.

La salida STDERR y STDOUT se graba en el directorio especificado en el parámetro WORK_DIR del conjunto de datos JAVAENV, si ese directorio existe. Si no se especifica el parámetro WORK_DIR, la salida va al directorio por omisión, /tmp/java, si ese directorio existe.