抗崩溃的Java IPC

发布于 2024-11-03 17:13:42 字数 235 浏览 3 评论 0原文

我有一个 Java 程序,它依赖于一个随机崩溃的本机库(因此导致整个 JVM 崩溃)。 该库与 I/O 相关,因此可以使用第二个 JVM 轻松地与程序的其余部分隔离。 我想将程序分成两部分,以便主程序继续运行,但本机库可以在崩溃后重新启动。问题是:让这两个 JVM 进行通信的最佳方式是什么?其中一个将崩溃并重新启动,但这不会影响另一个 JVM(除了由于崩溃和重新启动而导致 I/O 超时)。 RMI 是否具有抗崩溃能力?我应该使用套接字吗?内存映射文件?

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?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

水波映月 2024-11-10 17:13:42

我将在进程之间使用持久 JMS 队列。这将是最耐碰撞的。 (修复库是最好的选择)

I would use a persistent JMS Queue between the processes. This will be the most crash resistent. (Fixing the library is the best option)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文