Hi,
Does that Temurin build contain JavaFX, or is it just a new Temurin
build? Did you change anything else besides the JDK used? You could
try other JDK's (openjdk, corretto, etc) as well.
Is there anything being logged that may indicate what went wrong?
That all said, it seems really unlikely this is related to JavaFX.
If System.exit(0) is killing both the new and old application, then it
wasn't really spawned independently, so you can look into that (you
could put a delay there, and see with a tool like `top` or Task Manager
says, and see whether the restarted app is a child process or not).
It's also possible the problem is in the tools/settings used to create
the ".exe", so see if you changed anything there.
For more info, tips or other ways of doing restarts:
https://stackoverflow.com/questions/4159802/how-can-i-restart-a-java-application
--John
On 04/02/2024 02:49, Davide Perini wrote:
Hi there,
my JavaFX 21.0.2 app experienced a very weird regression when
switching from Temurin
OpenJDK21U-jdk_x64_windows_hotspot_21.0.1_12
to
OpenJDK21U-jdk_x64_windows_hotspot_21.0.2_13
I use this method to restart my app.
public void restart() {
// path to my exe app plus one string argument
String[] cmdToRunUsingArgs = {"C:\Users\sblantipodi\AppData\Local\Firefly Luciferin\Firefly
Luciferin.exe","string argument"};
try {
Runtime.getRuntime().exec(cmdToRunUsingArgs);
}catch (SecurityException | IOException e) {
log.error(e.getMessage());
}
javafx.application.Platform.exit();
System.exit(0);
}
It worked well since years until JDK 21.0.2_13.
If I revert back to 21.0.1_12 it works well.
That method should start a new instance of the app, and close the "old
instance".
With JDK 21.0.2_13, it closed the running instance but does not open a
new instance.
I don't know if open a bugreport to JDK but before opening the bug
report I would like to ask you if that method to restart the app is
correct or if you think that I can use a better way.
Thanks
Davide