2014-04-11 15 views
1

在我的項目之前,我使用jboss 4.0tomcat 6.0服務器, 並有Defaultconstant.java文件,該文件是不是一個servlet類(即獨立的實體類)我需要在jboss運行後保留一個值。我需要使用Tomcat開始

DefaultConstant.java的值是存儲爲靜態變量並寫入靜態塊。

當我啓動我的jboss服務器時,Defaultconstant.java文件正在裝入所有需要的值,並將其存儲在地圖中。

當我運行我的tomcat服務器。 相同的文件第二次被加載,並且它會創建另一個用於存儲Tomcat初始化值的映射。

我需要的輸出是: 我需要保存這些映射值,並且不應該允許映射在tomcat啓動時重新加載一次。

+0

請注意一些代碼。 –

回答

0

使用系統屬性定義Defaultconstant可以保存/加載其數據的路徑。

根據如何Defaultconstant的作品,你可以儲存數據時,它不會再改變,也可以使用ServletContextListener當應用程序服務器關閉通知類。

編輯 Java沒有提供在進程之間共享數據的簡單方法。所以當Tomcat啓動時,您需要一種方式來告訴JBoss服務器「嗨,我也需要這些值」。有幾種選擇:

  1. 您可以將這些值保存到JBoss中的文件並在Tomcat中讀取該文件。這會給你一個拷貝的值( - >如果你希望能夠將更改從Tomcat傳遞迴JBoss,則不會有所幫助)。

  2. 在JBoss中創建一個Tomcat在啓動期間使用的Web服務來請求值。

  3. 將值存儲在數據庫中併爲兩個Web服務器配置相同的數據庫連接器。這樣,Defaultconstant可以讀取和寫入相同的共享存儲的值。

+0

DafaultConstant不是servlet類,我需要保存臨時映射值。有可能@aaron Digulla –

+0

@Ramakrishnan:不計算。需要更多的投入。 –

+0

我編輯了我的問題aaron.please檢查出來 –