wrapper.backend.socket.bind.timeout |
|||||||
The Wrapper uses a backend connection (socket or pipe) to communicate with its monitored JVM. This connection is established, usually almost instantly, at startup before the Wrapper launches a JVM. For socket connections, an additional step involves binding to the loopback address and a specific port. Typically, the loopback address is available, and the Wrapper selects the first available port within the configured range. However, in some configurations, it has been observed that the IPv4 and/or IPv6 addresses can temporarily detach from their network interface. This can happen, for example, when the loopback interface is managed by systemd-networkd. When systemd-networkd applies configuration changes, it briefly tears down and reconfigures interfaces, usually resulting in a few milliseconds of downtime during which the loopback addresses are unavailable.
Starting with Wrapper version 3.6.3, the Wrapper includes
a retry mechanism for situations where the address is unavailable during binding.
The wrapper. On Unix, the default value is 5 seconds. On Windows, since no similar downtime issue have been observed, the default value is 0 seconds, which disables the retry mechanism. However, this value can be changed if necessary. NOTEIf wrapper.backend.type is set to AUTO or SOCKET and the loopback address is unavailable for SOCKET_IPv4 or SOCKET_IPv6, the Wrapper will not block on that type. Instead, it will immediately attempt to create a connection with the next type in the fallback order: SOCKET_IPv6, then SOCKET_IPv4, then PIPE (if applicable). If no type succeeds in the current cycle, the retry mechanism will initiate a new cycle, continuing until a suitable type is found or timing out. This allows the Wrapper for more responsiveness on startup.
It is also possible to set wrapper.
This is what can be seen in the logs when binding to IPv4 and IPv6 loopback addresses fails and
wrapper.
|
Verweis: Port |
|