0

我们有一个问题,我们的 java 进程永远挂起,除非针对它发出 Kill -9。

相同的进程在其他 Solaris 环境中成功运行,

Java 进程由单线程组成,在对数据进行一些处理后开始和结束,虽然从日志和数据中我们可以看到代码已完全执行,并且所有数据都已处理。

但是如果我们执行 JPS,我们将始终看到该进程正在运行。我们将 EHcache 与 spring 一起用于缓存目的,将 UCP 用于连接池。在 dB 方面,我们有 ORACLE RAC 结构。

花了几个Jstacks,永远看不到我的代码中的进程。虽然从线程转储中可以看到有很多 UCP 线程挂在那里。

还添加了一个 Shutdown 挂钩并最终将其删除,但由于某种原因,似乎从未调用过 shutdownhook。

由于项目限制,无法粘贴代码。

任何人都可以请帮助

4

1 回答 1

-1

我的客户在安装 Solaris 时遇到了同样的问题。当安装程序在调试模式下运行时,我们意识到嵌入了安装程序的 java 正在挂起。请张贴,以防你们中的任何人找到答案。

于 2017-03-27T06:21:16.460 回答