World Map
Java Service Wrapper is the easiest way to make your product more reliable.
  • Free Trial
  • Buy Now
Propiedad wrapper.backend.type

wrapper.backend.type

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

El Wrapper necesita mantener una comunicación constante entre el proceso de Wrapper y una clase que se ejecuta dentro de la máquina JVM. Esta comunicación se ha realizado tradicionalmente utilizando un socket a través del dispositivo de bucle invertido (localhost). Esto ha sido seguro y confiable, pero algunos usuarios han solicitado una alternativa debido a seguridad u otros problemas.

En dos instancias, los usuarios informaron que su socket de backend estaba siendo cerrado por un proceso externo mientras ejecutaban en Windows 2003. La causa de los cierres nunca se descubrió, pero este fue el impulso para implementar un método de comunicación alternativo usando pipes.

Esto es lo que se vió en los registros cuando el problema ocurrió con el registro debug habilitado en la propiedad wrapper.debug:

DEBUG  | wrapperp | socket send failed.  An existing connection was forcibly closed by the remote host. (0x2746)
DEBUG  | wrapperp | closing backend socket.
INFO   | jvm 1    | WrapperManager Debug: Closed socket: java.net.SocketException: Connection reset
INFO   | jvm 1    | WrapperManager Debug: Returned from socket handler.
INFO   | jvm 1    | WrapperManager Debug: Closing backend socket.
INFO   | jvm 1    | WrapperManager Error: The backend socket was closed unexpectedly.  Restart to resync with the Wrapper.

Cuando esto ocurre, el Wrapper reinicia la máquina JVM sin problemas, pero para algunas aplicaciones, un reinicio de la máquina JVM puede causar problemas propios y es mejor evitarlo.

El valor predeterminado es "AUTO".

Lists de valores posibles:

  • AUTO: usa SOCKET y en caso de error, recurre a PIPE
  • SOCKET: usa SOCKET_IPv4 y en caso de error, recurre a SOCKET_IPv6
  • SOCKET_IPv4: usa un socket IPv4
  • SOCKET_IPv6: usa un socket IPv6
  • PIPE: usa un pipe backend
Ejemplo:
wrapper.backend.type=SOCKET

Referencia: Puerto