HCL Commerce Version 9.1.10.0 or later

Depuración remota del servicio de consulta

Puede realizar la depuración remota de las extensiones de su servicio de consulta. Este recurso remoto permite a los desarrolladores ver el estado actual de las variables y aprovechar el intercambio en caliente de código para ver los cambios reflejados en el servidor a medida que desarrollan el código.

Before you begin

Para obtener más información sobre el intercambio en caliente de código, consulte Habilitar la sustitución de archivo de clase "HotSwap" en la documentación de mejoras Java SE 1.4 de Java Platform Debugger Architecture.

About this task

Realice los pasos siguientes para habilitar la depuración remota en el servicio de consulta:

Procedure

  1. Localice el archivo jvm.options de /opt/WebSphere/Liberty/usr/servers/default/jvm.option en el contenedor del servicio de consulta. Añada lo siguiente como una nueva línea en este archivo:
    -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=7777
    Los parámetros configurables son los siguientes:
    dirección
    El puerto de depuración en el que debe conectarse el depurador de Eclipse. 7777 es el puerto de depuración predeterminado para el servidor liberty, el usuario puede cambiarlo a cualquier otro puerto disponible.
    suspend=y
    Detiene el inicio del servidor hasta que un depurador se conecta al puerto de depuración. Si este comportamiento no es necesario, se puede utilizar suspend=n. En ese caso, el servidor se iniciará normalmente mientras escucha a través del puerto de depuración para adjuntar un depurador en cualquier momento.
  2. El puerto de depuración debe exponerse en el contenedor de servicios de consulta para que el depurador Eclipse pueda conectarse a este puerto y comunicarse con la aplicación de servicio de consulta. Puede hacerlo editando el archivo docker-compose.yml. A continuación se muestra una configuración de ejemplo:
    version '2.3'
    
    services:
      query:
        image: comlnx94.prod.hclpnp.com/9.1.9.0/search-query-app:v9-latest
        mem_reservation: 2g
        mem_limit: 3g
        ports:
           - "30900:30900"
           - "30901:30901"
           - "7777:7777"
  3. En el proyecto Eclipse que contiene el código fuente de la extensión del servicio de consulta, pulse con el botón derecho del ratón en el proyecto y vaya a Depurar como > Configuraciones de depuración....
    Añada la dirección IP de la máquina virtual en el campo de entrada Host y el puerto de depuración en el campo Puerto. Asegúrese de que el Tipo de conexión esté establecido en Socket Attach. Pulse Depurar para conectar el depurador al puerto de depuración de escucha del servicio de consulta.
    Note: No mantenga habilitadas las configuraciones de depuración remota en el entorno de producción, ya que esto afecta al rendimiento y la seguridad. La funcionalidad de depuración remota solo debe utilizarse en entornos de desarrollo. Además, tenga en cuenta que esta función de depuración remota solo funciona con un tiempo de ejecución de Docker local.