Created BasicClusterActor
This commit is contained in:
parent
e77b10c666
commit
56ac30aa2e
3 changed files with 7 additions and 6 deletions
|
|
@ -5,7 +5,7 @@ import org.jgroups.{JChannel, View => JG_VIEW, Address, Message => JG_MSG, Exten
|
||||||
/**
|
/**
|
||||||
* Clustering support via JGroups.
|
* Clustering support via JGroups.
|
||||||
*/
|
*/
|
||||||
class JGroupsClusterActor extends ClusterActor {
|
class JGroupsClusterActor extends BasicClusterActor {
|
||||||
import ClusterActor._
|
import ClusterActor._
|
||||||
import org.scala_tools.javautils.Imports._
|
import org.scala_tools.javautils.Imports._
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,7 @@ import com.sun.enterprise.ee.cms.impl.client.{FailureNotificationActionFactoryIm
|
||||||
PlannedShutdownActionFactoryImpl
|
PlannedShutdownActionFactoryImpl
|
||||||
}
|
}
|
||||||
|
|
||||||
class ShoalClusterActor extends ClusterActor {
|
class ShoalClusterActor extends BasicClusterActor {
|
||||||
|
|
||||||
type ADDR_T = String
|
type ADDR_T = String
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -28,6 +28,10 @@ trait Cluster {
|
||||||
def lookup[T](pf: PartialFunction[RemoteAddress, T]): Option[T]
|
def lookup[T](pf: PartialFunction[RemoteAddress, T]): Option[T]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
trait ClusterActor extends Actor with Cluster {
|
||||||
|
val name = config.getString("akka.remote.cluster.name") getOrElse "default"
|
||||||
|
}
|
||||||
|
|
||||||
private[remote] object ClusterActor {
|
private[remote] object ClusterActor {
|
||||||
sealed trait ClusterMessage
|
sealed trait ClusterMessage
|
||||||
|
|
||||||
|
|
@ -39,7 +43,7 @@ private[remote] object ClusterActor {
|
||||||
/**
|
/**
|
||||||
* Base class for cluster actor implementations.
|
* Base class for cluster actor implementations.
|
||||||
*/
|
*/
|
||||||
abstract class ClusterActor extends Actor with Cluster {
|
abstract class BasicClusterActor extends ClusterActor {
|
||||||
import ClusterActor._
|
import ClusterActor._
|
||||||
|
|
||||||
case class Message(sender : ADDR_T,msg : Array[Byte])
|
case class Message(sender : ADDR_T,msg : Array[Byte])
|
||||||
|
|
@ -55,12 +59,9 @@ abstract class ClusterActor extends Actor with Cluster {
|
||||||
type ADDR_T
|
type ADDR_T
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@volatile private var local: Node = Node(Nil)
|
@volatile private var local: Node = Node(Nil)
|
||||||
@volatile private var remotes: Map[ADDR_T, Node] = Map()
|
@volatile private var remotes: Map[ADDR_T, Node] = Map()
|
||||||
|
|
||||||
val name = config.getString("akka.remote.cluster.name") getOrElse "default"
|
|
||||||
|
|
||||||
override def init = {
|
override def init = {
|
||||||
remotes = new HashMap[ADDR_T, Node]
|
remotes = new HashMap[ADDR_T, Node]
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue