有没有人使用JavaSpaces技术?

是否有JavaSpaces技术的实际应用以及它是如何实现的?

我们目前正在使用javaspaces(Sun outrigger实现)来协调松散耦合的进程。 它背后的想法是引人注目的,API非常简单。 实际的实施一直是个问题。 它建立在Jini之上,因此需要5或6个进程来占用空间。 而且,至少在Sun的实现中,没有办法让它通过特定端口进行通信,这使防火墙变得有点痛苦。

我们遇到的另一个问题是空间中没有隐含的排序。 因此,如果您放入5个对象,并且您的模板在read / take上匹配全部5个,则未指定您将获得哪个。 根据应用程序,这可能是也可能不是问题。

GigaSpaces是JavaSpaces的成熟版本。 它广泛用于保持安静的金融应用。

至于实现,它基本上是Jini之上的事务对象数据库。 查询类似于db4o。

我相信Orbitz是一家酒店预订系统,运行在Jini上。

基于Java Posse剧集#82 ,#84和#86这是对Vin Simmons的采访,这种技术有时用于军事或金融应用,这些应用在安静时是不幸的。

几年前我用它但它可能没有太大改变。

@Keith:可以在一个进程/ JVM中启动所有服务(以前是至少),我认为有关于如何执行此操作的文档。

我相信Jini / Javaspaces在欧洲的一些大型应用程序(票务,手机等)中使用。 GE Aircraft也用于研究和分析。

德克萨斯理工大学的SORCER实验室拥有一个基于Jini / Javaspaces构建的大型SOA架构,您可以在那里找到一些帮助。

到目前为止,我还没有意识到JavaSpaces的任何新用法。 对于分布式计算,大多数大型系统都是使用内存数据网格技术或类似NoSQL的分区解决方案构建的。 (我看到使用了很多Oracle Coherence,但这可能是因为我使用它。)

为了充分披露,我在Oracle工作。 本文中表达的观点和观点是我自己的,不一定反映我的雇主的意见或观点。