java webstart极其缓慢

问题描述:

我必须通过Java Webstart部署Java应用程序。 Webstart下载所需的应用程序jar和库jar,然后在下载完所有内容之后,应用程序启动前会有50秒的延迟。java webstart极其缓慢

在计算机上直接运行jar几乎立即加载,所以它不是导致问题的应用程序jar。

我在测试机器上安装了Java 6 update 22。

任何人有任何想法如何我可以加快速度或可能导致问题?

在目标机器上是否有任何病毒扫描程序处于活动状态?如果是这样,请尝试暂时禁用它们。我发现某些苏格兰品牌的病毒扫描程序会多次造成类似问题...

+0

尝试在几台机器,Windows,Ubuntu的,有和没有病毒扫描仪,同样的问题 – johnnyx 2010-10-20 18:00:07

在Java控制台中,您可以在50秒内创建多个线程转储。它应该给你提示你的应用程序挂起的提示。

我认为这是创建一些套接字到服务器的名称解析问题。但没有线程转储和任何想法你的应用程序正在做什么,它只是在水晶球看。

+0

我检查了Java控制台,Java webstart行事非常怪异,所有这些持续下载,缓存,删除,它说50秒找不到,然后再次下载所有的罐子,并重复这一遍又一遍,直到应用程序启动的某个时刻。我有一种预感,它不喜欢用于在服务器上签名的自签名安全证书。它使用相同的证书并且现在完成了超过7个月的完美工作。 – johnnyx 2010-10-20 21:07:17

+0

jar文件是否保存在Java缓存中?你可以在Java配置中使用它。另外,如果Java从缓存中的jar中验证证书,则会打印一些调试信息。你可以在这里发布吗? – Horcrux7 2010-10-22 17:42:42

问题似乎是由一些额外的图书馆罐子引起的,我一直在与主应用程序罐子一起加载(allthough所有的都签署了相同的)。 我在原始问题中忘记提到的是,罐子是由一个php脚本来提供的,而不是直接从一个url到它们在服务器上的位置。 我仍然不清楚为什么发生这个问题(系统几个月来一直这样工作)。我认为在新的java webstart版本中安全检查的一些问题可能触发了它。直接链接jnlp中的所有库jar,并仅通过php脚本(仅限客户端访问该库)来保留主应用程序jar,从而解决了问题。 谢谢大家的回复。

当我自签我的罐子时,我注意到有一个警告,证书将在6个月内过期。这符合工作良好的症状(可能6个月?),然后窒息。

+0

自签名证书可以在证书颁发时定义的有效期内生成。已生成。有关详细信息,请参阅相关工具的JavaDocs。 – 2011-03-25 14:58:43

我也看到了这50秒。在我注意到许多调试代码输入到我的代码中后,类加载或访问IO(保存文件)等任务都是原因,但是我绕过的任何地方,我都会看到移动到下一步的50秒。

目前还没有针对该问题的解决方案。 我正在使用Java 6更新31和那些外部jar:Java FX,JXTA,JMF。非他们似乎与问题直接相关。

+0

你能发布更多信息和代码吗? – thejartender 2012-05-02 13:54:16

我可能是错的,并且很难说没有为您的启动提供完整的跟踪和调试日志,但这可能是由于证书验证过程。

尝试在Java控制面板中禁用它们中的一些,看看事情是怎么回事(不是说你应该,只是说这会解释你的延迟,并且你应该接受它)。