/
ClusterDocSpec.scala
56 lines (45 loc) · 1.27 KB
/
ClusterDocSpec.scala
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
/*
* Copyright (C) 2015-2019 Lightbend Inc. <https://www.lightbend.com>
*/
package scala.docs.cluster
import akka.cluster.Cluster
import akka.testkit.AkkaSpec
import docs.CompileOnlySpec
object ClusterDocSpec {
val config =
"""
akka.actor.provider = "cluster"
akka.remote.classic.netty.tcp.port = 0
"""
}
class ClusterDocSpec extends AkkaSpec(ClusterDocSpec.config) with CompileOnlySpec {
"demonstrate leave" in compileOnlySpec {
//#leave
val cluster = Cluster(system)
cluster.leave(cluster.selfAddress)
//#leave
}
"demonstrate data center" in compileOnlySpec {
{
//#dcAccess
val cluster = Cluster(system)
// this node's data center
val dc = cluster.selfDataCenter
// all known data centers
val allDc = cluster.state.allDataCenters
// a specific member's data center
val aMember = cluster.state.members.head
val aDc = aMember.dataCenter
//#dcAccess
}
}
"demonstrate programatic joining to seed nodes" in compileOnlySpec {
//#join-seed-nodes
import akka.actor.Address
import akka.cluster.Cluster
val cluster = Cluster(system)
val list: List[Address] = ??? //your method to dynamically get seed nodes
cluster.joinSeedNodes(list)
//#join-seed-nodes
}
}