I have a Java program which depends on a native library that crashes randomly (and therefore bring down the whole JVM).
This library is about I/O, therefore can be easily isolated from the rest of the program with a second JVM.
I want to split the program in two so that the main program keeps running, but the native library can be restarted after crash. The question is: what is the best way to let these 2 JVM communicate? One of them will crash and be restarted but this should not affect the other JVM (besides some timeout with the I/O because of the crash and restart).
Is RMI crash resistant? Should I use a socket? A memory-mapped file?
I have a Java program which depends on a native library that crashes randomly
Share
I would use a persistent JMS Queue between the processes. This will be the most crash resistent. (Fixing the library is the best option)