World Map
Java Service Wrapper ist der einfachste Weg, um Ihr Produkt zuverlässiger, sicherer zu machen.
  • Free Trial
  • Buy Now
wrapper.backend.type Eigenschaft

wrapper.backend.type

Kompatibel :3.5.8
Editionen :Professional EditionStandard EditionCommunity Edition
Betriebssysteme :WindowsMac OSXLinuxIBM AIXFreeBSDHP-UXSolarisIBM z/OSIBM z/Linux

Der Wrapper muss einen stetigen Kommunikationsfluss zwischen den Wrapper-Prozess und einer Klasse, die innerhalb der JVM ausgeführt wird, aufrechterhalten. Diese Kommunikation wird traditionell unter Nutzung eines Socket über das Loopback-Gerät hinweg getan (localhost). Dies ist sicher und zuverlässig gewesen, aber einige User haben aus Sicherheits- und anderen Gründen eine Alternative erwünscht.

In zwei bekannten Fällen haben User berichtet, dass ihr Backend-Socket durch einen externen Prozess geschlossen wurde, während sie Windows 2003 ausführten. Die Ursachen für diese Abschlüsse wurden nie entdeckt, aber dies war der Anstoß, um eine alternative Kommunikationsmethode mittels Pipes zu implementieren.

Dies ist, was in den Logs gesehen werden kann, als dies auftrat mit aktivierter Debug-Ausgabe in der wrapper.debug Eigenschaft :

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.

Wenn dies auftritt, startet der Wrapper die JVM ohne weitere Probleme neu, aber für einige Anwendungen kann ein Neustart der JVM programminterne Probleme verursachen; und daher ist es am besten, dies zu vermeiden.

Der Standardwert ist "AUTO".

Liste von möglichen Werten:

  • AUTO: Nutzung von SOCKET und im Fehlerfall Rückgriff auf PIPE
  • SOCKET: Nutzung von SOCKET_IPv4 und im Fehlerfall Rückgriff auf SOCKET_IPv6
  • SOCKET_IPv4: Nutzung von IPv4-Socket
  • SOCKET_IPv6: Nutzung von IPv6-Socket
  • PIPE: Nutung von Pipe-Backend
Beispiel:
wrapper.backend.type=SOCKET

Verweis: Port