情况:
拥有多个内部Java应用程序的大型公司,这些应用程序通过Java Web Start从Java Web Application启动。用户登录Java Web应用程序并选择通过Java WebStart启动的程序。当用户尝试运行应用程序时,应用程序将记录在数据库中。应用程序启动后,它会在数据库中标记成功的行。
问题:
数据库中有用户启动程序的行,但应用程序从未更新它启动的数据库。我能想到的原因只有几个:
目标/问题:
我想确定原因的数量。无论如何都要检测为什么Java Web Start App无法启动,以便我可以看到这种情况经常发生的情况?还有其他原因我可能不会考虑吗?
答案 0 :(得分:2)
你的原因似乎都是合理的,但我认为通过添加更多代码来解决问题会很困难,特别是前两个原因。我认为您需要进行一些更老式的故障排除,以便您可以复制用户遇到的问题。
也许在网络应用中有“麻烦启动?”经历前两个问题之一的用户可以用来报告问题的链接,因为他们应该能够轻松检测到应用程序没有启动。
要消除第三个原因,请不要让应用程序本身直接连接到数据库,而是让它们通过HTTP与启动JNLP的Web应用程序进行通信 - 您可以合理地确保它们可以连接到那个服务器。然后让该web-app插入适当的数据库记录。
答案 1 :(得分:1)
我想建议你分别解决每个案例。
* The user did not have JVM installed or possibly the correct version
通常,用户通过单击浏览器中的JNLP文件链接来启动Web启动应用程序。尝试检查是否已安装java插件。你可以使用java脚本来完成它。这样您就可以避免没有java插件的用户启动应用程序。我知道这不是理想的解决方案: - 可能没有安装插件但桌面java可以运行。这是“假阴性” - 用户可以第一次成功运行应用程序,然后卸载JVM并尝试再次运行应用程序。
* The application failed to load due to a web-server/deployment issue. (For example not all .jars required by the application were deployed to the web server.
* The application had a connection issue with the database or a bug that caused it to not write to the database.
使用某种加载器可以解决所有其他问题。