@Override public void publishToLocalRegion( String topic, Object message, ActorRef sender ) { // send to local subscribers to topic mediator.tell( new DistributedPubSubMediator.Publish( topic, message ), sender ); }
public ReservationCacheActor() { // subscribe to the topic named "content" ActorRef mediator = DistributedPubSub.get(getContext().system()).mediator(); mediator.tell(new DistributedPubSubMediator.Subscribe("content", getSelf()), getSelf()); }
private void initAkka() { logger.info("Initializing Akka"); // Create one actor system with request actor for each region if ( StringUtils.isEmpty( currentRegion )) { throw new RuntimeException( "No value specified for: " + ActorSystemFig.CLUSTER_REGIONS_LOCAL ); } if ( StringUtils.isEmpty( actorSystemFig.getRegionsList() )) { throw new RuntimeException( "No value specified for: " + ActorSystemFig.CLUSTER_REGIONS_LIST ); } if ( StringUtils.isEmpty( actorSystemFig.getSeeds() )) { throw new RuntimeException( "No value specified for: " + ActorSystemFig.CLUSTER_SEEDS ); } List regionList = Arrays.asList( actorSystemFig.getRegionsList().toLowerCase().split(",") ); logger.info("Initializing Akka for hostname {} region {} regionList {} seeds {}", hostname, currentRegion, regionList, actorSystemFig.getSeeds() ); Config config = createConfiguration(); clusterSystem = createClusterSystem( config ); // register our cluster listener clusterSystem.actorOf(Props.create(ClusterListener.class, getSeedsByRegion(), getCurrentRegion()), "clusterListener" ); createClientActors( clusterSystem ); mediator = DistributedPubSub.get( clusterSystem ).mediator(); }
@Override public void preStart() { pubSubMediator.tell(new DistributedPubSubMediator.Put(getSelf()), getSelf()); pubSubMediator.tell(new DistributedPubSubMediator.Subscribe(BatchExecutionFinished.TYPE, ACTOR_NAME, getSelf()), getSelf()); }
private static DistributedPubSubMediator.Send mapStreamTriggerCommand( final SudoStreamModifiedEntities sudoStreamModifiedEntities) { return new DistributedPubSubMediator.Send(ThingsMessagingConstants.THINGS_STREAM_PROVIDER_ACTOR_PATH, sudoStreamModifiedEntities, true); } }
private void handleUnsubscribeAck(final DistributedPubSubMediator.UnsubscribeAck unsubscribeAck) { log.debug("Successfully unsubscribed from distributed pub/sub on topic <{}>.", unsubscribeAck.unsubscribe().topic()); }
private BlockedNamespacesUpdater(final BlockedNamespaces blockedNamespaces, final ActorRef pubSubMediator) { this.blockedNamespaces = blockedNamespaces; // register self for pub-sub on restart pubSubMediator.tell(new Put(getSelf()), getSelf()); // subscribe to namespace-blocking commands pubSubMediator.tell(new DistributedPubSubMediator.Subscribe(BlockNamespace.TYPE, getSelf()), getSelf()); pubSubMediator.tell(new DistributedPubSubMediator.Subscribe(UnblockNamespace.TYPE, getSelf()), getSelf()); }
private static DistributedPubSubMediator.Send mapStreamTriggerCommand( final SudoStreamModifiedEntities sudoStreamModifiedEntities) { return new DistributedPubSubMediator.Send(PoliciesMessagingConstants.POLICIES_STREAM_PROVIDER_ACTOR_PATH, sudoStreamModifiedEntities, true); }
private void handleUnsubscribeAck(final DistributedPubSubMediator.UnsubscribeAck unsubscribeAck) { log.debug("Successfully unsubscribed from distributed pub/sub on topic <{}>.", unsubscribeAck.unsubscribe().topic()); }
private static DistributedPubSubMediator.Send mapStreamTriggerCommand( final SudoStreamModifiedEntities sudoStreamModifiedEntities) { return new DistributedPubSubMediator.Send(ThingsMessagingConstants.THINGS_STREAM_PROVIDER_ACTOR_PATH, sudoStreamModifiedEntities, true); } }
private static DistributedPubSubMediator.Send mapStreamTriggerCommand( final SudoStreamModifiedEntities sudoStreamModifiedEntities) { return new DistributedPubSubMediator.Send(PoliciesMessagingConstants.POLICIES_STREAM_PROVIDER_ACTOR_PATH, sudoStreamModifiedEntities, true); }
private static DistributedPubSubMediator.Send wrapForPubSub(final Signal<?> signal) { return new DistributedPubSubMediator.Send(DISPATCHER_ACTOR_PATH, signal); }