Xetux Docs
XPOS

Integración OpenTable (Resolución OutOfMemory)

Guía técnica para resolver errores de memoria (Heap Space) en la integración con OpenTable mediante la actualización a Java 21 y ajuste de recursos en Tomcat.

Esta configuración es mandatoria para implementaciones de Xetux POS que utilicen la integración activa con OpenTable. El procedimiento aborda el colapso del servicio provocado por el agotamiento de la memoria Heap de Java.

La integración con OpenTable requiere la distribución de Amazon Corretto 21 (LTS) para cumplir con los estándares de seguridad y red de su API actual.

Análisis del Problema

Síntomas

  • El servicio de Apache Tomcat (Xetux) deja de responder aproximadamente cada 24 horas.
  • La aplicación se "congela" y no procesa peticiones en los puertos asignados, a pesar de figurar como "En ejecución" en el Administrador de Tareas.
  • Se requiere un reinicio manual diario para restaurar la operatividad.

Causa Raíz

El uso de Java 21, sumado a la persistencia de hilos de ejecución en segundo plano para la sincronización con OpenTable, genera una fuga de memoria (Memory Leak). El límite predeterminado de 1024 MB (1 GB) resulta insuficiente, provocando que el recolector de basura (Garbage Collector) colapse.

Evidencia en Logs

El fallo se confirma al localizar las siguientes líneas en los archivos catalina.log o localhost.log (C:\Xetux-Server\tomcat-xspos\logs\):

java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: Java heap space
The web application [xspos] appears to have started a thread named [...] but has failed to stop it. This is very likely to create a memory leak.

Solución Técnica

Prerrequisitos

Descargar e instalar el paquete .msi de Amazon Corretto 21 para Windows x64.

Procedimiento de Configuración

Apertura del Panel de Configuración

Para modificar los parámetros del servicio específico de Xetux, se debe forzar la apertura del panel de control de Tomcat mediante la terminal:

  1. Ejecutar el Símbolo del Sistema (CMD) como administrador.
  2. Acceder al directorio de binarios:
    cd C:\Xetux-Server\tomcat-xspos\bin
    
  3. Ejecutar el comando de apertura vinculada al servicio xspos:
    tomcat9w.exe //ES//xspos
    

Vinculación de Java 21

En la ventana de Propiedades de Apache Tomcat, navegar a la pestaña Java:

  1. Desmarcar la casilla Use default.
  2. En el campo Java Virtual Machine, hacer clic en el botón de búsqueda [...].
  3. Localizar el archivo jvm.dllen la ruta de instalación de Amazon Corretto.
    • Ejemplo típico: C:\Program Files\Amazon Corretto\jdk21.x.x_x\bin\server\jvm.dll

Ajuste de Memoria Heap

En la misma pestaña Java, modificar los valores de asignación de memoria:

  • Initial memory pool: 2048 MB
  • Maximum memory pool: 4096 MB

Hacer clic en Aplicar y luego en Aceptar.

Reinicio y Validación

  1. Abrir el gestor de servicios de Windows (services.msc).
  2. Localizar el servicio Apache Tomcat 9.0 xspos y seleccionar Reiniciar.
  3. Abrir el archivo de log más reciente en C:\Xetux-Server\tomcat-xspos\logs\.
  4. Validar que las primeras líneas del arranque indiquen el uso de la ruta de Java 21 y que el max heap size se reporte cercano a los 4096 MB.

Tabla de Comparativa de Recursos

ParámetroConfiguración AnteriorNueva Configuración
Versión de JavaJava 8 / 11Amazon Corretto 21
Memoria Inicial (Xms)256 MB - 512 MB2048 MB
Memoria Máxima (Xmx)1024 MB4096 MB
Copyright © 2026