Feder -Boot -Anwendung mit JDK 24 AOT -Cache hängt häufig beim StartJava

Java-Forum
Anonymous
 Feder -Boot -Anwendung mit JDK 24 AOT -Cache hängt häufig beim Start

Post by Anonymous »

Ich habe ein verblüffendes und frustrierendes Problem mit einer Spring-Boot-Anwendung, bei der ein JDK 24 AOT-Cache (vor der Zeit) verwendet wird (dies ist keine native Kompilierung, sondern nur versucht, den AOT-Cache zu verwenden). Die Anwendung hängt häufig beim Start beim Ausführen mit dem AOT -Cache. Ich suche Ratschläge zur Diagnose und vor allem dieses Problem. Ich habe einen mehrstufigen Prozess, um den AOT-Cache zu erstellen: < /p>
  • Ich baue einen Fat Spring Boot .jar < /code>. -Djarmode = tools .
  • Kopieren Sie den ausgepackten Inhalt (

    Code: Select all

    myapp.jar
    und das lib verzeichnis) to /app.
  • Führen Sie die Anwendung als AOTMODE> mit aotMode = record aus und erstellen Sie dann den AOT -Cache mit AOTMODE = create (so etwas wie diese. Dies.
  • Das endgültige Containerbild enthält /app/myapp.jar , /app/aot.app (der Cache) und alle/App/lib Bibliotheken. Der benutzerdefinierte Einstiegspunkt ist java -xx: aotcache =/app/app.aot -jar /app/myapp.jar.
Dieses Setup lädt den AOT -Cache erfolgreich. Das Startverhalten der Anwendung ist jedoch inkonsistent: In meinen Tests beginnt es nur in etwa 20% der Fälle erfolgreich (wie gewünscht und erwartet) und hängt die anderen 80% der Zeit (also, die Startzeit ist ... unendlich). Ein Thread -Dump zeigt konsequent auf die Methode von java.lang.invoke.directMethodHandleeholder.invokestatic . Der Thread -Status ist ausgeführt , aber er scheint keinen Fortschritt zu machen. Der Thread -Dump sieht so aus: < /p>

Code: Select all

"main" #3 [5925] prio-5 os_prio=0 cpu=32236.90ms elapsed=36.51s tid=0x00007f1a2802bb00 nid=5925 runnable
[0x00007fla2e085000]
java.lang.Thread.State: RUNNABLE
at java.lang.invoke.DirectMethodHandleHolder.invokeStatic([email protected]/DirectMethodHandleHolder)
at java.lang.invoke.DelegatingMethodHandleHolder.delegate ([email protected]/DelegatingMethodHandleHolder)
at java.lang.invoke.BootstrapMethodInvoker.invoke([email protected]/BootstrapMethodInvoker.java:102)
at java.lang.invoke.CallSite.makeSite ([email protected]/CallSite.java:310)
at java.lang.invoke.MethodHandleNatives.linkCallSiteImpl([email protected]/MethodHandleNatives.java:250)
at java.lang.invoke.MethodHandleNatives.linkCallSite ([email protected]/MethodHandleNatives.java:240)
at org.springframework.web.servlet.handler.AbstractHandlerMapping.formatMappingName (AbstractHandlerMapping.java:406)
at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.handlerMethodsInitialized (AbstractHandlerMethodMapping.java:366)
at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.initHandlerMethods (AbstractHandlerMethodMapping.java:227)
< /code>
Ich habe einige Warnungen beim Erstellen des AOT -Cache bemerkt, obwohl ich sie nicht mit dem Hanging -Problem korrelieren konnte. Auszüge: < /p>
187 [5.271s] [warning] [cds] Preload Warning: Verification failed for org.springframework.transaction.reactive.TransactionalOperator
188 [6.378s] [warning] [cds] Preload Warning: Verification failed for org.springframework.web.servlet.view.freemarker.FreeMarkerView
189 [6.426s] [warning] [cds] Skipping jdk/internal/event/Event: JFR event class
190 [6.428s] [warning] [cds] Skipping io/github/resilience4j/spring6/circuitbreaker/configure/RxJava3CircuitBreakerAspectExt: Failed verification
Fragen

Hat jemand auf ein ähnliches Problem mit Spring Boot, JDK 24 gestoßen und aot Caches? AOT -Cache -Kreation Warnungen werden mit dem Hang verwandt, und wenn ja, wie kann ich sie ansprechen?>

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post