JavaSpaces から始める必要があり、この記事を見つけました。しかし、JINI ライブラリを見つけてダウンロードしましたが、JavaSpaces ライブラリが見つかりませんでした。JINIに移動か何か?
1 に答える
JavaSpaces には、 BlitzとGigaSpaces XAPの 2 つの実装があります。ブリッツはオープンソースです。XAP は商用ですが、無料で使用できるコミュニティ エディションがあります。
私は XAP にかなり偏っています。私は彼らのために働いています。:) そうは言っても、XAP を検討する理由はたくさんあります。
宇宙買収
スペース参照を取得するメカニズムは、デフォルトの JINI よりも GigaSpaces の方がはるかに簡単です。
UrlSpaceConfigurer urlSpaceConfigurer = new UrlSpaceConfigurer("/./space");
IJSpace space = urlSpaceConfigurer.space();
// space is a close JavaSpaces analog, extended because the specification is rather limited
GigaSpace gigaSpace=new GigaSpaceConfigurer(space).gigaSpace();
// gigaSpace has **many** API improvements and is far more flexible.
API の改善
デフォルトの JavaSpace API には、スペース内の複数のタプルの一致に対する補正はありません。最近の (つまり、8 年前の?) ものはそうであり、Blitz はそれを実装していますが、まだあまり柔軟ではありません。さらに、次のような規則に従う JINI エントリで行き詰まります。
- すべてのフィールドは公開する必要があります。(つまり、「public String foo」)
- すべての型は Entry を拡張する必要があります。
- すべてのフィールドは Object を拡張する必要があります。(つまり、long ではなく Long など)
XAP では Entry を使用できますが、必須ではありません。XAP では、通常の POJO を使用できます。ワイルドカード (null は JavaSpaces のワイルドカード) のため、オブジェクト型を優先したい場合もありますが、それはあなた次第です。
XAP は、SQL クエリ メカニズムと、エントリのドキュメント ベースのモデル (スキーマレス) も提供し、Spring を使用して通知とリモート処理を管理することもできます。