java - Tomcat 由于 native C 代码而崩溃 - 可能的解决方法?

标签 java tomcat crash native rmi

我们有一个托管在 tomcat 上的 Web 应用程序,它包含对一些遗留 C 代码的调用。现在,在其中一个场景中,此 C 代码在生产环境中崩溃并导致整个 JVM 崩溃,导致应用服务器停机近 15 分钟。

问题 - 有没有更好的方法,基本上我想在它自己的 JVM 中加载 native 代码,这样应用服务器就不会崩溃。

最佳答案

您回答了自己的问题。将它移动到另一个 JVM,然后对该 JVM 进行服务调用。如果服务器崩溃,与 JVM 的通信将丢失,但您的应用服务器仍将运行并且可以优雅地处理失败的通信。

您的选择是,将代码放在另一个应用程序服务器中,并使用 JSON、Web 服务等创建服务 API,无论您更喜欢什么。或者,根据 C 代码的作用,可能只是一个套接字级 API。

当然,如果您愿意编写的话,您的 C 代码可以处理它自己的套接字。但出于管理和监控的原因,将其保存在应用服务器中可能是最好的选择。而且创建 API 会更快、更灵活。

您必须根据自己的判断来确定最适合您的解决方案。

关于java - Tomcat 由于 native C 代码而崩溃 - 可能的解决方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27118495/

相关文章:

android - 按四个按钮中的任何一个时我的应用程序崩溃

java - 如何使用扫描仪读取文件,然后将其放入二维字符数组中

java - 如何将我的表单与操作链接起来?

java - 提交页面并没有更新我的模型?

Tomcat 7.1.1 : Access denied

jsp - tomcat无jsp渲染无任何错误或异常

java - 并发是在sqlite中自动处理的吗?

sql - 选择SQLite表的许多行时应用程序崩溃

java - 使用 icu4j 格式化数字(拼写)

ios - 在 TextView Edit Swift 3.0 上移动 View