¿Qué hacer cuando la puerta de enlace HTML5 se detiene o falla? Imprimir

  • 0

Cuando HTML5service.exe ya no se ejecuta y, en consecuencia, no se muestra en la lista de tareas o el servicio ya no aparece en la GUI de AdminTool como iniciado, incluso si se ejecutaba correctamente antes, lo más probable es que Java VM se haya bloqueado con un error de "memoria insuficiente". En ese caso, Java generalmente crea un archivo de volcado de memoria en *\Clients\webserver\hs_err_pid*****.log con información ampliada sobre el bloqueo ocurrido.

Hay dos opciones para resolver ese problema: instalar más RAM física o intentar forzar a Java a ejecutarse en modo extremo. En este modo, Java VM reservará más memoria y no la devolverá al sistema, sino que la reutilizará para tareas futuras. Para ello, siga el siguiente tutorial.

1. Primero, detenga el servidor HTML5 en la GUI de AdminTool

2. Desinstale todas las versiones de Java que encuentre.
Además, después de desinstalar, elimine dos carpetas con todas las subcarpetas si existen: "C:\Program Files\Java\" y "C:\Program Files (x86)\Java\"

3. Luego, descargue e instale la última versión de Java JDK desde aquí Descarga de Java JDK
Por ejemplo: Windows x64 206,76 MB jdk-8u162-windows-x64.exe o una versión más nueva si está disponible.
Recuerde que necesita exactamente la versión de 64 bits para Windows de 64 bits (nunca use la versión de 32 bits para Windows de 64 bits)
La versión de JDK es necesaria porque puede usar opciones/interruptores específicos adicionales a diferencia de la edición JRE habitual.

4. Cierre la sesión de todos los usuarios excepto usted mismo, no solo desconéctese, ¡sino cierre la sesión de cada usuario por completo! ¡ESO ES OBLIGATORIO!

5. Ahora reinicie en la GUI de AdminTool el servicio web HTML5, por ahora es necesario forzar a TSPlus a escribir una nueva ruta Java en el archivo de lote inicial runwebserver.bat

6. Ahora busque *\webserver\runwebserver.bat y ábralo/edítelo con el Bloc de notas.

7. Como ya debería haber reiniciado el servidor HTML5 en la GUI de AdminTool en el paso 5, asegúrese de que la ruta al directorio Java en el archivo *\webserver\runwebserver.bat se refiera a una ruta REALMENTE existente para la versión de Java JDK recién instalada. Debe desmarcar Atributo: Solo lectura del archivo runwebserver.bat si se configuró antes de reiniciar HTML5.
Finalmente, dentro de ese archivo debería aparecer algo como lo siguiente
-----------------
@"C:\Program Files\Java\jdk1.8.0_162\bin\HTML5service.exe" -Djdk.tls.ephemeralDHKeySize=matched -Djdk.tls.rejectClientInitiatedRenegotiation=true -Dorg.jboss.netty.epollBugWorkaround=true -XX:+UseG1GC -XX:+AggressiveOpts -XX:MinHeapFreeRatio=10 -XX:MaxHeapFreeRatio=10 -cp "%~dp0httpwebs.jar" -Duser.dir="C:\\Program Files (x86)\\TSplus\\Clients\\www" com.jwts.socketjw.NSIOServer 80 443 secret secret 127.0.0.1 -81 127.0.0.1 22 127.0.0.1 3389 >weblog.txt
-----------------

8. Ahora, a la línea anterior, agregue dos nuevos parámetros: -server y -XX:+AggressiveHeap

Si utiliza Java9 o superior, agregue además los siguientes parámetros

--add-opens java.prefs/java.util.prefs=ALL-UNNAMED --add-opens java.base/java.lang.reflect=ALL-UNNAMED --add-opens java.base/sun.security.ssl=ALL-UNNAMED --add-opens java.base/java.nio=ALL-UNNAMED --add-opens java.base/jdk.internal.ref=ALL-UNNAMED --add-exports java.prefs/java.util.prefs=ALL-UNNAMED --add-exports java.base/java.lang.reflect=ALL-UNNAMED --add-exports java.base/sun.security.ssl=TODOS SIN NOMBRE --add-exports java.base/java.nio=TODOS SIN NOMBRE --add-exports java.base/jdk.internal.ref=TODOS SIN NOMBRE

 

Debería verse algo como
@"****\HTML5service.exe" -server -XX:+AggressiveHeap -Djdk.tls.ephemer*****
y además de eso, ELIMINE las tres opciones: -XX:MinHeapFreeRatio=10 y -XX:MaxHeapFreeRatio=10 y -XX:+UseG1GC
De esta manera evitará la situación en la que Java devuelva la memoria liberada al sistema.
Finalmente, el archivo por lotes debería tener un aspecto similar al siguiente
-----------------
@"C:\Program Files\Java\jdk1.8.0_162\bin\HTML5service.exe" -server -XX:+AggressiveHeap -Djdk.tls.ephemeralDHKeySize=matched -Djdk.tls.rejectClientInitiatedRenegotiation=true -Dorg.jboss.netty.epollBugWorkaround=true -XX:+AggressiveOpts -cp "%~dp0httpwebs.jar" -Duser.dir="C:\\Program Files (x86)\\TSplus\\Clients\\www" com.jwts.socketjw.NSIOServer 80 443 secret secret 127.0.0.1 -81 127.0.0.1 22 127.0.0.1 3389

o para Java9 y versiones posteriores

@"C:\Archivos de programa (x86)\TSplus\Java\bin\HTML5service.exe" --add-opens java.prefs/java.util.prefs=TODOS SIN NOMBRE --add-opens java.base/java.lang.reflect=TODOS SIN NOMBRE --add-opens java.base/sun.security.ssl=TODOS SIN NOMBRE --add-opens java.base/java.nio=TODOS SIN NOMBRE --add-opens java.base/jdk.internal.ref=TODOS SIN NOMBRE --add-exports java.prefs/java.util.prefs=TODOS SIN NOMBRE --add-exports java.base/java.lang.reflect=TODOS SIN NOMBRE --add-exports java.base/sun.security.ssl=TODOS SIN NOMBRE --add-exports java.base/java.nio=ALL-UNNAMED --add-exports java.base/jdk.internal.ref=ALL-UNNAMED -server -XX:+AggressiveHeap -Djdk.tls.ephemeralDHKeySize=matched -Djdk.tls.rejectClientInitiatedRenegotiation=true -Dorg.jboss.netty.epollBugWorkaround=true -XX:+AggressiveOpts -cp "%~dp0httpwebs.jar" -Duser.dir="C:\\Archivos de programa (x86)\\TSplus\\Clients\\www" com.jwts.socketjw.NSIOServer 80 443 secret secret 127.0.0.1 -81 127.0.0.1 22 127.0.0.1 3389
-----------------
IMPORTANTE: no solo Copia y pega la línea completa de este tutorial, ya que podrías tener una ruta de Java diferente o puertos diferentes dentro de tu línea original, así que haz los cambios en tu línea original.

9. IMPORTANTE: establece en este archivo modificado runwebserver.bat > Atributo: Solo lectura, para que este archivo no se pueda sobrescribir más. Si olvidas finalizar ese paso, todos los cambios se revertirán a los valores predeterminados mediante la GUI de AdminTool.

10. Ahora, el paso final es iniciar (reiniciar) el servidor HTML5 en la GUI de AdminTool nuevamente.

¡La próxima vez que tengas la oportunidad, instala más RAM física, de lo contrario, tus programas de Windows sufrirán debido a la falta de memoria física!


¿Fue útil la respuesta?

« Atrás