我需要从 JavaSpaces 开始,我找到了这篇文章。但是我找到了 JINI 库并下载了它,但找不到 JavaSpaces 库。是搬到JINI还是什么?
问问题
4388 次
1 回答
3
有两种 JavaSpaces 的实现:Blitz和GigaSpaces XAP。Blitz 是开源的;XAP 是商业的,但有一个可以免费使用的社区版本。
我严重偏向 XAP;我为他们工作。:) 也就是说,考虑 XAP 的原因有很多:
空间采集
使用 GigaSpaces获取空间引用的机制比使用默认 JINI 容易得多:
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 Entries 卡住,它遵循以下规则:
- 每个字段都必须是公开的。(即“公共字符串 foo”)
- 每种类型都必须扩展 Entry。
- 每个字段都必须扩展 Object。(即 Long 而不是 long 等)
XAP 允许您使用 Entry,但不是必须的;使用 XAP,您可以使用普通的 POJO。由于通配符(null 是 JavaSpaces 通配符),您仍然希望更喜欢 Object 类型,但这取决于您。
XAP 还提供了 SQL 查询机制,以及条目的基于文档的模型(无模式),还可以使用 Spring 来管理通知和远程处理。
于 2011-02-21T12:37:10.687 回答