wrapper.backend.socket.bind.timeout

Compatibilidad :3.6.3
Ediciones :Edición ProfesionaEdición EstándarEdición de la Comunidad
Plataformas :WindowsMac OSXLinuxIBM AIXFreeBSDHP-UXSolarisIBM z/Linux

El Wrapper utiliza una conexión de backend (socket o pipe) para comunicarse con su JVM monitoreada. Esta conexión se establece, normalmente casi instantáneamente, al inicio, antes de que el Wrapper inicie una JVM.

Para las conexiones de socket, un paso adicional consiste en vincular la dirección de bucle invertido a un puerto específico. Normalmente, la dirección de bucle invertido está disponible y el Wrapper selecciona el primer puerto disponible dentro del rango configurado. Sin embargo, en algunas configuraciones, se ha observado que las direcciones IPv4 o IPv6 puede desconectarse temporalmente de su interfaz de red. Esto puede ocurrir, por ejemplo, cuando la interfaz de bucle invertido es administrada por systemd-networkd. Cuando systemd-networkd aplica cambios de configuración, desactiva y reconfigura brevemente las interfaces, lo que suele resultar en un tiempo de inactividad de unos pocos milisegundos durante el cual las direcciones de bucle invertido no están disponibles.

A partir de la versión 3.6.3, el Wrapper incluye un mecanismo de reintento para situaciones en las que la dirección no está disponible durante el enlace. La propiedad wrapper.backend.socket.bind.timeout configura la duración máxima, en segundos, de este mecanismo de reintento. Si se agota el tiempo de espera, el Wrapper suspenderá sus intentos y se detendrá.

En Unix, el valor predeterminado es 5 segundos.

En Windows, dado que no se ha observado un problema de inactividad similar, el valor predeterminado es 0 segundos, lo que desactiva el mecanismo de reintento. Sin embargo, este valor se puede modificar si es necesario.

NOTA

Si wrapper.backend.type se configura en AUTO o SOCKET y la dirección de bucle invertido no está disponible para SOCKET_IPv4 o SOCKET_IPv6, el Wrapper no se bloqueará en ese tipo. En su lugar, intentará inmediatamente crear una conexión con el siguiente tipo en el orden de respaldo: SOCKET_IPv6, luego SOCKET_IPv4, luego PIPE (si corresponde).

Si ningún tipo se ejecuta correctamente en el ciclo actual, el mecanismo de reintento iniciará un nuevo ciclo, que continuará hasta que se encuentre un tipo adecuado o se agote el tiempo de espera. Esto permite que el Wrapper tenga mayor capacidad de respuesta al iniciarse.

También es posible configurar wrapper.backend.type para un tipo específico y deshabilitar este mecanismo de respaldo.

Esto es lo que se puede ver en los registros cuando falla la vinculación a direcciones de bucle invertido IPv4 e IPv6 y wrapper.backend.type está configurada en SOCKET.

INFO   | 2025/08/01 18:34:40.976 | wrapperp | Could not assign a name to the socket. Waiting 5 seconds...
INFO   | 2025/08/01 18:34:41.082 | wrapperp | Backend server started with SOCKET_IPv4.

Referencia: Puerto