Tutorial :Protecting against X11 Crashes in Java Applications that have a Swing Component


Is this possible?


With the right architecture, for many kinds of applications - sure.

Just split the GUI and "core logic" into separate processes, and have the GUI able to detect and reattach to the running backend process when you run it after the crash.

For extra robustness, given that an X crash can often take down the whole system, move to a classic client/server architecture with the backend running over the network.


No. X11 is the foundation for the window manager and then the Java Swing application that runs in that window environment. So if X11 crashes there's not much you can do.


In addition to what wrt said, your backend system could also watch for HeadlessExceptions, and handle them appropriately.


It is generally not practical for an X11 desktop application to recover from a crashed X11 service, whether it is written in Java or another language.

But it may be possible to prevent the problem happening to a Java app the first place. I recall having to deal with this a long time (5+ years) ago. Sun had a workaround that involved setting a system property to tell the JVM to not use 2D graphics acceleration. I cannot recall the details, but you may be able to find an equivalent solution on the Sun website.

Note:If u also have question or solution just comment us below or mail us on toontricks1994@gmail.com
Next Post »