从JavaSpaces开始?

Ива*_*вац 7 java jini javaspaces

我需要从JavaSpaces开始,我发现了这篇文章.但是我找到了JINI库并下载了它,但是找不到JavaSpaces库.是移动到JINI还是什么?

Jos*_*ger 3

有两种值得注意的 JavaSpaces 实现:BlitzGigaSpaces 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.
Run Code Online (Sandbox Code Playgroud)

API 改进

默认的 JavaSpace API 对于空间中的多个元组匹配没有补偿。最近的(即8岁?)确实如此,并且Blitz实现了它,但它仍然不是很灵活。另外,您仍然会陷入 JINI 条目的困境,它遵循以下规则:

  1. 每个字段都必须是公共的。(即“公共字符串 foo”)
  2. 每种类型都必须扩展 Entry。
  3. 每个字段都必须扩展 Object。(即用 Long 代替 long 等)

XAP允许您使用Entry,但不要求它;有了XAP,你就可以使用普通的POJO。由于通配符(null 是 JavaSpaces 通配符),您仍然希望更喜欢对象类型,但这取决于您。

XAP还提供了SQL查询机制,以及基于文档的条目模型(schemaless),并且还可以使用Spring来管理通知和远程处理。