@Override public void produceRouter(ActorSystem system, String role) { ClusterSingletonManagerSettings settings = ClusterSingletonManagerSettings.create( system ).withRole( "io" ); system.actorOf( ClusterSingletonManager.props( Props.create( GuiceActorProducer.class, QueueWriterRouter.class ), PoisonPill.getInstance(), settings ), "queueWriterRouter" ); ClusterSingletonProxySettings proxySettings = ClusterSingletonProxySettings.create( system ).withRole( role ); system.actorOf( ClusterSingletonProxy.props( "/user/queueWriterRouter", proxySettings ), "queueWriterRouterProxy" ); }
@Override public void produceRouter(ActorSystem system, String role) { ClusterSingletonManagerSettings settings = ClusterSingletonManagerSettings.create( system ).withRole( "io" ); system.actorOf( ClusterSingletonManager.props( Props.create( GuiceActorProducer.class, QueueSenderRouter.class ), PoisonPill.getInstance(), settings ), "queueSenderRouter" ); ClusterSingletonProxySettings proxySettings = ClusterSingletonProxySettings.create( system ).withRole( role ); system.actorOf( ClusterSingletonProxy.props( "/user/queueSenderRouter", proxySettings ), "queueSenderRouterProxy" ); }
@Override public void produceRouter(ActorSystem system, String role) { ClusterSingletonManagerSettings settings = ClusterSingletonManagerSettings.create( system ).withRole( "io" ); system.actorOf( ClusterSingletonManager.props( Props.create( GuiceActorProducer.class, QueueActorRouter.class ), PoisonPill.getInstance(), settings ), "queueActorRouter" ); ClusterSingletonProxySettings proxySettings = ClusterSingletonProxySettings.create( system ).withRole( role ); system.actorOf( ClusterSingletonProxy.props( "/user/queueActorRouter", proxySettings ), "queueActorRouterProxy" ); }
@Override public void produceRouter( ActorSystem system, String role ) { ClusterSingletonManagerSettings settings = ClusterSingletonManagerSettings.create( system ).withRole("io"); system.actorOf( ClusterSingletonManager.props( Props.create( GuiceActorProducer.class, UniqueValuesRouter.class ), PoisonPill.getInstance(), settings ), "uvRouter" ); ClusterSingletonProxySettings proxySettings = ClusterSingletonProxySettings.create( system ).withRole( role ); system.actorOf( ClusterSingletonProxy.props( "/user/uvRouter", proxySettings ), "uvProxy" ); subscribeToReservations( system ); }
public static Props mkProps(ActorSystem system, ActorRef commandDispatcher, SagaRepository repository, ActorRef eventstore, String packageScanPath, String dispatcher) { Props singletonProps = Props.create(SagaManager.class, commandDispatcher, repository, eventstore, packageScanPath); if(dispatcher != null){ singletonProps = singletonProps.withDispatcher(dispatcher); } try { final ClusterSingletonManagerSettings settings = ClusterSingletonManagerSettings.create(system); system.actorOf(ClusterSingletonManager.props( singletonProps, "shutdown", settings), "sagamanagersingelton"); ClusterSingletonProxySettings proxySettings = ClusterSingletonProxySettings.create(system); proxySettings.withBufferSize(10000); return ClusterSingletonProxy.props("/user/eventstoresingelton", proxySettings); } catch (ConfigurationException e) { log.info("not cluster system"); return singletonProps; } }
public static void startup(String[] ports) { for (String port : ports) { // Override the configuration of the port Config config = ConfigFactory.parseString( "akka.remote.netty.tcp.port=" + port + "\n" + "akka.remote.artery.canonical.port=" + port) .withFallback( ConfigFactory.parseString("akka.cluster.roles = [compute]")) .withFallback(ConfigFactory.load("stats2")); ActorSystem system = ActorSystem.create("ClusterSystem", config); ClusterSingletonManagerSettings settings = ClusterSingletonManagerSettings.create(system) .withRole("compute"); system.actorOf(ClusterSingletonManager.props( Props.create(StatsService.class), PoisonPill.getInstance(), settings), "statsService"); ClusterSingletonProxySettings proxySettings = ClusterSingletonProxySettings.create(system).withRole("compute"); system.actorOf(ClusterSingletonProxy.props("/user/statsService", proxySettings), "statsServiceProxy"); } } }
@Override public void preStart() { try { Cluster cluster = Cluster.get(getContext().system()); cluster.subscribe(self(), ClusterEvent.MemberRemoved.class); log.info("{} subscribes to cluster events", self()); } catch (ConfigurationException e) { } final ActorSystem system = context().system(); try { Cluster cluster = Cluster.get(system); final ClusterSingletonManagerSettings settings = ClusterSingletonManagerSettings.create(system); system.actorOf(ClusterSingletonManager.props( EventstoreSingelton.mkProps(storage), "shutdown", settings), "eventstoresingelton"); ClusterSingletonProxySettings proxySettings = ClusterSingletonProxySettings.create(system); proxySettings.withBufferSize(10000); eventstoresingeltonProxy = system.actorOf(ClusterSingletonProxy.props("/user/eventstoresingelton", proxySettings), "eventstoresingeltonProxy"); } catch (ConfigurationException e) { log.info("not cluster system"); eventstoresingeltonProxy = system.actorOf(EventstoreSingelton.mkProps(storage)); } log.debug("Eventstore started with adress {}", getSelf().path()); }