2013-10-31 168 views
4

您是否知道在不使用數據庫的情況下,Java EE應用程序在Java EE應用程序中保存數據(假設有幾個鍵值對)? 解決方案應該可以在羣集中使用。我知道數據網格的概念(例如JBoss中的Infinispan),但我更喜歡一個解決方案,其中應用程序不依賴於特定的應用程序服務器(例如,JCache會很棒,但據我瞭解,只能用作Infinispan的本地緩存,而不能用作分佈式緩存)。所以有可能,例如,用CDI以某種方式保存數據(可能在上下文@ApplicationScoped中)?如果是的話,你能描述一下嗎?有沒有辦法在沒有數據庫的情況下將數據保存在Java EE應用程序中?

編輯:謝謝你的所有答案。他們現在都推薦我使用某些框架。但是,Java EE棧無法做到這一點。喜歡這個?

回答

0

我認爲你正在尋找什麼叫做內存數據網格。以Hazelcast爲例。

儘管如此,你應該小心謹慎地存儲數據,如果它很重要的話(大部分時間用於boost緩存)。

0

即使在問題中我也不知道這些術語。但是,如何將XML用作數據存儲?
這也可以共享。

0

我認爲這是可能與Oracle Coherence的API

1

如果我正確理解你的使用情況,這是可行的與Infinispan的,另外這是基本的Infinispan用途之一。您的應用程序將而不是依賴任何應用程序服務器,同時使用嵌入式庫和Infinispan是能夠在該嵌入式模式下創建羣集。

請看到這個問題,我的回答是,我希望這可以幫助,並把一些光對您的問題還有:Infinispan Operational modes

+0

謝謝你的回答。我毫不懷疑,我可以用Infinispan來做到這一點。事實上,我的應用程序已經部署在JBoss上,並且我在羣集環境中使用Infinispan(JBoss中的嵌入式應用程序),這很適合。但同一個應用程序必須能夠在Websphere上運行,這就是我想要構建便攜式解決方案的原因。在這種情況下使用Infinispan似乎有點奇怪,因爲WAS有自己的數據網格。無論如何,你會推薦使用它?作爲獨立服務器還是部署爲JCA連接器/打包在耳內? –

+0

我不是解決方案架構師,但我相信您應該將嵌入式Infinispan庫留在JBoss中,並遷移到最新公開的Infinispan上游版本(http://infinispan.org/download/)並使用這些庫。然後,與您的應用程序使用哪個應用程序服務器無關,即使使用Websphere,您也應該能夠使用內存中的Infinispan集羣,因爲Infinispan功能與您的應用程序綁定,而不與應用程序服務器綁定。我理解正確嗎?有什麼具體問題嗎? – tsykora

+0

呃...我不知道,但我不認爲這是符合JEE的方式。根據規範,我不允許我自己在JEE應用程序中打開線程或端口,因爲這些東西應該由容器管理。據我的理解,我必須做某事。像這樣配置一個運行嵌入在我的應用程序中的Infinispan,不是嗎? –

-1

嘗試從兵馬俑,它提供內存中的數據高速緩存,並使用Bigmemory偉大的聚集世界。

+0

緩存不保存。順便說一句,相比你的'答案'的內容好用戶名。 – 2013-10-31 13:14:04

相關問題