情况:
拥有多个内部 Java 应用程序的大公司,这些应用程序通过 Java Web Start 从 Java Web 应用程序启动。用户登录 Java Web 应用程序并选择通过 Java WebStart 启动的程序。当用户尝试运行应用程序时,应用程序会登录数据库。应用程序启动后,它会在数据库中标记成功的行。
问题:
数据库中存在用户启动程序的行,但应用程序从未更新它启动的数据库。我能想到的原因只有几个:
- 用户没有安装 JVM 或可能没有安装正确的版本
- 由于网络服务器/部署问题,应用程序无法加载。 (例如,并非应用程序所需的所有 .jar 都已部署到 Web 服务器。
- 应用程序与数据库存在连接问题,或者存在导致其无法写入数据库的错误。
目标/问题:
我想确定原因的数量。是否有办法检测 Java Web Start 应用程序无法启动的原因,以便我可以了解这种情况发生的频率?还有其他我可能没有考虑的原因吗?
最佳答案
你的原因看起来都很合理,但我认为通过添加更多代码很难解决这些问题,尤其是前两个原因。我认为您将需要进行一些更老式的故障排除,以便您可以重现用户遇到的问题。
网络应用程序中可能出现“启动时遇到问题?”遇到前两个问题之一的用户可以使用该链接来报告问题,因为他们应该能够轻松检测到应用程序未启动。
为了消除第三个原因,不要让应用程序本身直接连接到数据库,而是仅让它们通过 HTTP 与启动 JNLP 的 Web 应用程序进行通信 - 您可以合理地确信它们已连接到那个服务器。然后让该网络应用程序插入适当的数据库记录。
关于java - 如何检测 Java Web Start 何时/为何无法为用户启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4259456/