2011-04-05 52 views
0

這是一個奇怪的。我的理解(在此之後重新閱讀該文檔最近沒有變化)是它的安全替換JNLP啓動服務器(在我們的例子網絡)上的罐子,而客戶端運行。如果我理解正確,啓動後,客戶端下載jar並在本地運行。因此,在下次啓動之前更新源代碼jar將不會被檢索(作爲更新的版本)。對JNLP啓動軟件的更新可能導致崩潰?

我的一個同事最近表示,他只會在所有客戶都關閉系統部署新的罐子,因爲它是造成問題,如果當他們對他進行更新。這根本不符合我以前的經驗或我的理解。所以,我重新閱讀文檔,並對我在這個問題上的立場感到非常舒服。不過,我隨後對該項目進行了更新並將其推出。在接下來的一個小時,多客戶開始有各種奇怪的問題(這類似的,如果你更新有人掉的直接運行的罐子,你會得到)。我已經證實,他們都在做JNLP,我可以觀看本地Java做的下載,等我不知道他們正在運行的副本會怎麼連知道JNLP源JAR進行了更新,除非他們再次推出。

有時客戶在同一時間在同一machien運行軟件的多個副本。 JNLP有多聰明,它會將已更新的jar下載到已經在使用的緩存中的頂部嗎?任何其他可能導致此問題的事情?

回答

0

看來,JNLP確實只是在複製中的舊高速緩存的頂新的.jar權利。如果客戶端沒有同時運行另一個軟件副本,則不會有任何問題,但如果它們是大問題!已經運行的軟件變得瘋狂,做着各種奇怪的事情,因爲它現在運行的緩存副本與RAM中的內容不匹配。