Akka - ClusterSingleton与JDK7

时间:2015-09-02 21:44:47

标签: java akka akka-cluster

问题

我正在尝试Akka的群集支持。我遇到了ClusterSingleton支持,这似乎需要JDK8 ......我不能使用它。

根据documentation here,我需要包含以下库:

<dependency>
    <groupId>com.typesafe.akka</groupId>
    <artifactId>akka-cluster-tools_2.11</artifactId>
    <version>2.4-SNAPSHOT</version>
</dependency>

正如我在测试中看到的那样,整个akka- * 2.11(使用Scala 2.11编译)需要JDK8,包括akka-cluster-tools。我不是斯卡拉的家伙,但似乎很奇怪 - Scala 2.11.1 release notes建议,JDK7绰绰有余:

  

Scala 2.11.x系列针对Java 6,具有(不断发展的)Java 8实验支持

选项

我有什么选择?我看到以下内容:

  1. 放弃使用Akka的想法,因为新版本将需要JDK8。遗憾的是JDK8不是一个选项
  2. 希望会有akka-cluster-tools_2.10,我的问题就会消失。 是否会有akka-cluster-tools_2.10
  3. 忘掉akka-cluster-tools_2.10并改用akka-contrib_2.10 尽管如此,它有可能发挥作用
    1. 这将更加困难,因为当前的文档引用了akka-cluster-tools
    2. 我刚开始使用Akka并且已经需要使用已弃用的库...
  4. 由于 ˚F

1 个答案:

答案 0 :(得分:1)

正如Ryan在评论中所说,Akka 2.4(现在还没有)需要/将需要Java 8.

你仍然可以在Akka 2.3中使用ClusterSingleton,Sharding,DistributedPubSub,就像它在akka-contrib包中一样。你可以在http://doc.akka.io/docs/akka/2.3.12/contrib/index.html下找到它的文档,所以没有问题。

此外,API的差异:群集内容的2.3和2.4之间的差异并不是很大,所以很有可能在未来做出这一举动而不需要太大的努力。

它的背面可能是对2.4中集群工具的改进可能不一定会反向移植到2.3,并且主要的开发工作将在未来集中在2.4上。