Das Starten von LiveCycle als Windows-Dienst scheitert mit „java.lang.OutOfMemoryError: PermGen space“

Problem

Nachdem Sie JBoss zur Ausführung als Windows-Dienst konfiguriert haben, folgen Sie den Anweisungen in diesem Link (Installation und Bereitstellung von LiveCycle ES4 für JBoss, Kapitel 10.2: Installation des Windows-Dienstes), schlägt der Start von LiveCycle mit der folgenden Ausnahme fehl:

java.lang.OutOfMemoryError: PermGen space at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:792) at org.jboss.classloader.spi.base.BaseClassLoader.access$200(BaseClassLoader.java:48) at org.jboss.classloader.spi.base.BaseClassLoader$2.run(BaseClassLoader.java:637) at org.jboss.classloader.spi.base.BaseClassLoader$2.run(BaseClassLoader.java:596) at java.security.AccessController.doPrivileged(Native Method)

Wenn Sie JBoss über die Befehlszeile aufrufen, startet LiveCycle erfolgreich.

Ursache

Dieses Problem bezieht sich auf einen bestehenden Bug (# JBPAPP-5403) auf JBoss EAP, wie in diesem Link beschrieben. Alle JVM-Argumente, die die Speicherzuweisung festlegen, werden ignoriert, wie aus der folgenden Zeile in der boot.log ersichtlich ist:

[ServerInfo] VM-Argumente: -Xrs -Djava.net.preferIPv4Stack=true -Dprogram.name=0.0.0.0 -Djava.endorsed.dirs=\jboss\lib\lib\endorsed

Lösung

Das Problem kann durch Ausführen der folgenden Schritte behoben werden:

  • Öffnen Sie „<JBoss root>\bin\service.bat“ mit einem Texteditor.
  • Suchen Sie die folgenden Zeilen:

@if not "%ECHO%" == "" echo %ECHO%
@if "%OS%" == "Windows_NT" setlocal
set DIRNAME=%CD%

  • Ersetzen Sie diese durch die folgenden Zeilen:

@if not "%ECHO%" == "" echo %ECHO%
@if "%OS%" == "Windows_NT" setlocal
set DIRNAME=%CD%

rem liest eine optionale Konfigurationsdatei.
if "x%RUN_CONF%" == "x" (
set "RUN_CONF=%DIRNAME%\run.conf.bat"
)
if exist "%RUN_CONF%" (
call "%RUN_CONF%" %*
)

  • Speichern Sie die Datei „service.bat“.
  • Starten Sie den Dienst „JBoss für Adobe LiveCycle ES4“ neu.
  • Öffnen Sie Ihre „boot.log“ und überprüfen Sie, ob die zusätzlichen JVM-Argumente vorhanden sind:

[ServerInfo] VM arguments: -Xrs -Dorg.jboss.resolver.warning=true -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Dsun.lang.ClassLoader.allowArraySyntax=true -Xms1024m -Xmx4096m -XX:PermSize=512m -XX:MaxPermSize=768m -XX:+UseCompressedOops -Dadobeidp.serverName=server1 -Dfile.encoding=utf8 -Djava.net.preferIPv4Stack=true -DentityExpansionLimit=10000 -XX:+HeapDumpOnOutOfMemoryError -Dorg.jboss.net.protocol.file.useURI=false -Djdk.logging.allowStackWalkSearch=true -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Dorg.jboss.resolver.warning=true -Djava.net.preferIPv4Stack=true -Dprogram.name=0.0.0.0 -Djava.endorsed.dirs=E:\Adobe\Adobe LiveCycle ES4\jboss\lib\endorsed

Hinweis

Bitte beachten Sie, dass dieses Problem nur den manuell erstellten Windows-Dienst betrifft. Der im Rahmen einer gebrauchsfertigen oder automatischen Installation erstellte Windows-Dienst funktioniert wie erwartet.

 Adobe

Schneller und einfacher Hilfe erhalten

Neuer Benutzer?

Adobe MAX 2024

Adobe MAX
Die Konferenz für Kreative

14. bis 16. Oktober in Miami Beach und online

Adobe MAX

Die Konferenz für Kreative

14. bis 16. Oktober in Miami Beach und online

Adobe MAX 2024

Adobe MAX
Die Konferenz für Kreative

14. bis 16. Oktober in Miami Beach und online

Adobe MAX

Die Konferenz für Kreative

14. bis 16. Oktober in Miami Beach und online