我有两台主机名为comp1
和comp2
的服务器。我还有一个浮动别名(master
),它动态映射到两个服务器之一。我从两台服务器上提供相同的相同applet。客户端通常会连接到master
,但完全可以直接连接到comp1
或comp2
。
客户抱怨他们总是要等待applet加载(它非常大)。我认为一旦客户端下载了必要的jar,它们就会被缓存而不会被再次加载。起初我以为客户端的插件设置为不缓存,但我认为我找到了问题的原因,虽然我不明白。
master
(当前指向comp1
)。必须等待罐子下载。这是预期的。master
。我不必等待罐子下载。这也是预期/期望的行为。comp1
。必须等待罐子下载。我宁愿没有这种情况发生,因为它是同一台服务器,但我可以理解为什么,因为comp1
对客户端来说是一个完全不同的主机。master
。同样,我必须等待所有的罐子下载。 这不是我的预期。这些罐子应该已经在步骤1/2中下载了。使用Java控制面板,我可以看到缓存中的资源。在我看来,资源是由URL键入的,所以我不知道为什么我得到我做的。似乎同一服务器的两个不同的主机名弄乱了客户端的缓存。
我应该提到master
主机名不仅仅是DNS别名。它是一个实际的不同IP地址,comp1/comp2
在应用程序运行时动态绑定/解除绑定。
您能解释我在这里看到的内容,或建议一些调查途径吗?
答案 0 :(得分:1)
要调查的Avenus:
这可能是jar文件名的结果 - 例如如果它总是被下载到%TMP%\ app.jar中,则每次访问服务器时app.jar都会被踩到。
可能的解决方法: