2013-01-22 117 views
0

什麼產品/項目可以幫助我解決以下情況?在Java EE服務器之間共享數據

  • 多臺服務器(同一地點)
  • 一些國家應該服務器之間(例如信息,如果計劃任務運行和在什麼服務器)共享。當然

顯而易見的答案可能是數據庫,但我們使用Seam和似乎沒有成爲一個Seam豆內嵌套事務的好辦法,所以我需要找到一種方法,在這裏我就不必須瘋狂的配置(嘗試使用EJB:s,但pe​​rsistence.xml之後並不美觀)。所以我需要另一個解決這個問題的方法,直到Seam支持嵌套事務。

如果您需要更多詳細信息,這與基本相同:https://community.jboss.org/thread/182126

任何想法?

回答

2

聽起來像你需要做分佈式作業管理。

現實情況是,在Java EE世界中,您將最終需要做隊列,就像在MoM [Message-oriented Middleware]中一樣。 Seam將與JMS一起工作,並且可以發佈和預訂隊列。

在哪裏你可能想要找一個替代品在阿卡。它使您能夠使用透明的Actor/Agent模型在多臺機器上分配作業。也就是說,無論您的代理處於同一實例還是跨網絡,您的代理都可以相互合作,並且不會編寫大量代碼來實現此目的,或者必須專門處理消息上下的消息鏈。

Akka爲此付出的另一件事是監督的概念,即前進和失敗,或讓它崩潰。這是一個想法(接下來是電信公司多年),系統將會失敗,您應該設計它,並且有辦法使事情具有彈性。

最後,Java世界中其他選擇職位的狀態是糟糕的。多年來一直使用Seam。這很好,但他們決定只是支持石英工作,這是沒用的。

Akka也建立在Netty之上,它在併發和性能方面做了一些非常瘋狂的事情。

[不是TypeSafe員工,btw ...]

+0

我可以讓Seam在JMS或Akka中運行嗎?我們非常喜歡我們的Seam-beans和他們所持有的邏輯。 – Roland

+0

當然。您可以讓代理使用Seam中創建的組件。 – Rob