2010-12-22 59 views
1

我製作了一個小程序,通過我們的電話系統switchvox自動撥打聯繫人號碼,並將通話信息記錄到我們的CRM銷售團隊中。我遇到的問題是,除非我使用單獨的JVM參數,否則會變得棘手。爲什麼我必須爲我的小程序使用單獨的jvm?

例如,他們爲多個聯繫人打開多個選項卡,因此多個applet運行在同一個jvm中。如果沒有單獨的jvm參數,它有時會從另一個選項卡撥號。我通過參數標籤傳遞數字,我甚至嘗試通過調用小應用程序中的JS方法傳遞數字,但仍然沒有運氣。

由於我們的crm基於雲的人喜歡打開多個選項卡,但不喜歡在下面看到多個java圖標,請轉到圖。任何人都有此問題,和/或有一個解決方案沒有單獨的jvms。

回答

3

這很難說,沒有看你的小程序的代碼。

但是我會冒險猜測你的代碼將一些可變狀態置於靜態,偶爾有一個applet實例會通過靜態方法干擾另一個實例。

如果你的applet中有任何共享的可變靜態,理想情況下你應該擺脫它們。或者,如果確實需要由applet的多個實例共享,請確保所有訪問都已正確同步。

1

由於小應用程序全部運行在同一個VM中,所以它們在這些小應用程序之間共享。您可以嘗試classloader_cache="false" applet option並仍然共享虛擬機。我不確定這個選項是否僅適用於小程序啓動,但是,因爲我一直沒有成功地運行它。

最好的辦法是擺脫靜態或使用separate_jvm。

相關問題