diff --git a/akka-cluster/akka-cluster-shoal/src/main/scala/ShoalClusterActor.scala b/akka-cluster/akka-cluster-shoal/src/main/scala/ShoalClusterActor.scala deleted file mode 100644 index 455b57e3d2..0000000000 --- a/akka-cluster/akka-cluster-shoal/src/main/scala/ShoalClusterActor.scala +++ /dev/null @@ -1,105 +0,0 @@ -/** - * Copyright (C) 2009-2010 Scalable Solutions AB - */ -package se.scalablesolutions.akka.cluster.shoal - -import java.util.Properties - -import se.scalablesolutions.akka.config.Config.config -import se.scalablesolutions.akka.remote.{ClusterActor, BasicClusterActor, RemoteServer} - -import com.sun.enterprise.ee.cms.core._ -import com.sun.enterprise.ee.cms.impl.client._ - -/** - * Clustering support via Shoal. - */ -class ShoalClusterActor extends BasicClusterActor { - - type ADDR_T = String - - @volatile protected var gms : Option[GroupManagementService] = None - protected lazy val serverName : String = RemoteServer.HOSTNAME + ":" + RemoteServer.PORT - @volatile private var isActive = false - - lazy val topic : String = config.getString("akka.remote.cluster.shoal.topic") getOrElse "akka-messages" - - override def init = { - super.init - gms = Some(createGMS) - isActive = true - } - - override def shutdown = { - super.shutdown - isActive = false - for(g <- gms) g.shutdown(GMSConstants.shutdownType.INSTANCE_SHUTDOWN) - gms = None - } - - /** - * Constructs a Properties instance with properties designated for the underlying - * Shoal cluster transport (JXTA,JGroups) - */ - protected def properties() : Properties = { - config.getConfigMap("akka.remote.cluster.shoal.properties").map( m => { - new Properties(){ - for(key <- m.keys) setProperty(key,m(key)) - } - }).getOrElse(null) - } - - /** - * Creates a GroupManagementService, provides it with the proper properties - * Adds callbacks and boots up the cluster - */ - protected def createGMS : GroupManagementService = { - val g = GMSFactory - .startGMSModule(serverName,name, GroupManagementService.MemberType.CORE, properties()) - .asInstanceOf[GroupManagementService] - val callback = createCallback - g.addActionFactory(new JoinNotificationActionFactoryImpl(callback)) - g.addActionFactory(new FailureSuspectedActionFactoryImpl(callback)) - g.addActionFactory(new FailureNotificationActionFactoryImpl(callback)) - g.addActionFactory(new PlannedShutdownActionFactoryImpl(callback)) - g.addActionFactory(new MessageActionFactoryImpl(callback), topic) - g.join - g - } - - /** - * Creates a CallBack instance that deals with the cluster signalling - */ - protected def createCallback : CallBack = { - import scala.collection.JavaConversions._ - import ClusterActor._ - - val me = this - new CallBack { - def processNotification(signal : Signal) { - try { - signal.acquire() - if(isActive) { - signal match { - case ms : MessageSignal => me ! Message[ADDR_T](ms.getMemberToken,ms.getMessage) - case jns : JoinNotificationSignal => me ! View[ADDR_T](Set[ADDR_T]() ++ jns.getCurrentCoreMembers - serverName) - case fss : FailureSuspectedSignal => me ! Zombie[ADDR_T](fss.getMemberToken) - case fns : FailureNotificationSignal => me ! Zombie[ADDR_T](fns.getMemberToken) - case _ => log.debug("Unhandled signal: [%s]",signal) - } - } - signal.release() - } catch { - case e : SignalAcquireException => log.warning(e,"SignalAcquireException") - case e : SignalReleaseException => log.warning(e,"SignalReleaseException") - } - } - } - } - - protected def toOneNode(dest : ADDR_T, msg : Array[Byte]) : Unit = - for(g <- gms) g.getGroupHandle.sendMessage(dest,topic, msg) - - protected def toAllNodes(msg : Array[Byte]) : Unit = - for(g <- gms) g.getGroupHandle.sendMessage(topic, msg) -} \ No newline at end of file diff --git a/akka-cluster/akka-cluster-jgroups/src/main/scala/JGroupsClusterActor.scala b/akka-cluster/src/main/scala/JGroupsClusterActor.scala similarity index 100% rename from akka-cluster/akka-cluster-jgroups/src/main/scala/JGroupsClusterActor.scala rename to akka-cluster/src/main/scala/JGroupsClusterActor.scala diff --git a/project/build/AkkaProject.scala b/project/build/AkkaProject.scala index cf1e9c3e68..6d317e5f08 100644 --- a/project/build/AkkaProject.scala +++ b/project/build/AkkaProject.scala @@ -59,7 +59,7 @@ class AkkaParent(info: ProjectInfo) extends DefaultProject(info) { lazy val akka_patterns = project("akka-patterns", "akka-patterns", new AkkaPatternsProject(_), akka_core) lazy val akka_security = project("akka-security", "akka-security", new AkkaSecurityProject(_), akka_core) lazy val akka_persistence = project("akka-persistence", "akka-persistence", new AkkaPersistenceParentProject(_)) - lazy val akka_cluster = project("akka-cluster", "akka-cluster", new AkkaClusterParentProject(_)) + lazy val akka_cluster = project("akka-cluster", "akka-cluster", new AkkaClusterProject(_), akka_core) lazy val akka_spring = project("akka-spring", "akka-spring", new AkkaSpringProject(_), akka_core) lazy val akka_jta = project("akka-jta", "akka-jta", new AkkaJTAProject(_), akka_core) lazy val akka_servlet = project("akka-servlet", "akka-servlet", new AkkaServletProject(_), @@ -96,8 +96,7 @@ class AkkaParent(info: ProjectInfo) extends DefaultProject(info) { " dist/akka-util_%s-%s.jar".format(buildScalaVersion, version) + " dist/akka-util-java_%s-%s.jar".format(buildScalaVersion, version) + " dist/akka-core_%s-%s.jar".format(buildScalaVersion, version) + - " dist/akka-cluster-shoal_%s-%s.jar".format(buildScalaVersion, version) + - " dist/akka-cluster-jgroups_%s-%s.jar".format(buildScalaVersion, version) + + " dist/akka-cluster%s-%s.jar".format(buildScalaVersion, version) + " dist/akka-rest_%s-%s.jar".format(buildScalaVersion, version) + " dist/akka-comet_%s-%s.jar".format(buildScalaVersion, version) + " dist/akka-camel_%s-%s.jar".format(buildScalaVersion, version) + @@ -262,22 +261,10 @@ class AkkaParent(info: ProjectInfo) extends DefaultProject(info) { new AkkaCassandraProject(_), akka_persistence_common) } - class AkkaJgroupsProject(info: ProjectInfo) extends AkkaDefaultProject(info, distPath) { + class AkkaClusterProject(info: ProjectInfo) extends AkkaDefaultProject(info, distPath) { val jgroups = "jgroups" % "jgroups" % "2.8.0.CR7" % "compile" } - class AkkaShoalProject(info: ProjectInfo) extends AkkaDefaultProject(info, distPath) { - val shoal = "shoal-jxta" % "shoal" % "1.1-20090818" % "compile" - val shoal_extra = "shoal-jxta" % "jxta" % "1.1-20090818" % "compile" - } - - class AkkaClusterParentProject(info: ProjectInfo) extends ParentProject(info) { - lazy val akka_cluster_jgroups = project("akka-cluster-jgroups", "akka-cluster-jgroups", - new AkkaJgroupsProject(_), akka_core) - lazy val akka_cluster_shoal = project("akka-cluster-shoal", "akka-cluster-shoal", - new AkkaShoalProject(_), akka_core) - } - class AkkaServletProject(info: ProjectInfo) extends AkkaDefaultProject(info, distPath) class AkkaKernelProject(info: ProjectInfo) extends AkkaDefaultProject(info, distPath)