All Downloads are FREE. Search and download functionalities are using the official Maven repository.

os.engine.internal.cluster.Cluster.scala Maven / Gradle / Ivy

The newest version!
// Copyright AGPL3+ 2015 ~ Optersoft SL

package os.engine.internal.cluster

import os.engine.internal.Config

class Cluster(config: Config) {

  def start() {

    // startup(Seq("2551", "2552"))
  }

  //  def startup(ports: Seq[String]): Unit = {
  //
  //    ports foreach { port =>
  //      // Override the configuration of the port
  //      val config = ConfigFactory.parseString("akka.remote.netty.tcp.port=" + port).
  //        withFallback(ConfigFactory.load())
  //
  //      // Create an Akka system
  //      val system = ActorSystem("engine", config)
  //      // Create an actor that handles cluster domain events
  //      system.actorOf(Props[Cluster.SimpleClusterListener], name = "clusterListener")
  //    }
  //  }
}

object Cluster {

  //  class SimpleClusterListener extends Actor with ActorLogging {
  //
  //    val cluster = akka.cluster.Cluster(context.system)
  //
  //    // subscribe to cluster changes, re-subscribe when restart 
  //    override def preStart(): Unit = {
  //      //#subscribe
  //      cluster.subscribe(self, initialStateMode = InitialStateAsEvents,
  //        classOf[MemberEvent], classOf[UnreachableMember])
  //      //#subscribe
  //    }
  //    override def postStop(): Unit = cluster.unsubscribe(self)
  //
  //    def receive = {
  //      case MemberUp(member) =>
  //        log.info("Member is Up: {}", member.address)
  //      case UnreachableMember(member) =>
  //        log.info("Member detected as unreachable: {}", member)
  //      case MemberRemoved(member, previousStatus) =>
  //        log.info("Member is Removed: {} after {}",
  //          member.address, previousStatus)
  //      case _: MemberEvent => // ignore
  //    }
  //  }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy