您是否知道在不使用數據庫的情況下,Java EE應用程序在Java EE應用程序中保存數據(假設有幾個鍵值對)? 解決方案應該可以在羣集中使用。我知道數據網格的概念(例如JBoss中的Infinispan),但我更喜歡一個解決方案,其中應用程序不依賴於特定的應用程序服務器(例如,JCache會很棒,但據我瞭解,只能用作Infinispan的本地緩存,而不能用作分佈式緩存)。所以有可能,例如,用CDI以某種方式保存數據(可能在上下文@ApplicationScoped中)?如果是的話,你能描述一下嗎?有沒有辦法在沒有數據庫的情況下將數據保存在Java EE應用程序中?
編輯:謝謝你的所有答案。他們現在都推薦我使用某些框架。但是,Java EE棧無法做到這一點。喜歡這個?
謝謝你的回答。我毫不懷疑,我可以用Infinispan來做到這一點。事實上,我的應用程序已經部署在JBoss上,並且我在羣集環境中使用Infinispan(JBoss中的嵌入式應用程序),這很適合。但同一個應用程序必須能夠在Websphere上運行,這就是我想要構建便攜式解決方案的原因。在這種情況下使用Infinispan似乎有點奇怪,因爲WAS有自己的數據網格。無論如何,你會推薦使用它?作爲獨立服務器還是部署爲JCA連接器/打包在耳內? –
我不是解決方案架構師,但我相信您應該將嵌入式Infinispan庫留在JBoss中,並遷移到最新公開的Infinispan上游版本(http://infinispan.org/download/)並使用這些庫。然後,與您的應用程序使用哪個應用程序服務器無關,即使使用Websphere,您也應該能夠使用內存中的Infinispan集羣,因爲Infinispan功能與您的應用程序綁定,而不與應用程序服務器綁定。我理解正確嗎?有什麼具體問題嗎? – tsykora
呃...我不知道,但我不認爲這是符合JEE的方式。根據規範,我不允許我自己在JEE應用程序中打開線程或端口,因爲這些東西應該由容器管理。據我的理解,我必須做某事。像這樣配置一個運行嵌入在我的應用程序中的Infinispan,不是嗎? –