private Map<Integer, PlatformEncDec> getOrInitMap(Set<String> platformProtocols) { if (platformEncDecMap.get() == null) { platformEncDecMap.set(PlatformLookup.initPlatformProtocolMap(platformProtocols)); } return platformEncDecMap.get(); } });
@Override public void lookupAndInit() { LOG.info("Lookup platform protocols"); Set<String> platformProtocols = PlatformLookup.lookupPlatformProtocols( PlatformLookup.DEFAULT_PROTOCOL_LOOKUP_PACKAGE_NAME); LOG.info("Initializing message handler with {} worker threads", threadPoolSize); handler = new BootstrapMessageHandler( operationsServerListService, Executors.newFixedThreadPool(threadPoolSize), platformProtocols, new KeyPair( bootstrapKeyStoreService.getPublicKey(), bootstrapKeyStoreService.getPrivateKey()), supportUnencryptedConnection); super.lookupAndInit(); }
protected EncDecActorMessageProcessor(ActorRef epsActor, AkkaContext context, Set<String> platformProtocols) { super(); this.opsActor = epsActor; this.cacheService = context.getCacheService(); this.credentialsServiceLocator = context.getCredentialsServiceLocator(); this.registrationService = context.getRegistrationService(); this.supportUnencryptedConnection = context.getSupportUnencryptedConnection(); this.crypt = new MessageEncoderDecoder( context.getKeyStoreService().getPrivateKey(), context.getKeyStoreService().getPublicKey()); this.platformEncDecMap = PlatformLookup.initPlatformProtocolMap(platformProtocols); MetricsService metricsService = context.getMetricsService(); this.sessionInitMeter = metricsService.createMeter( "sessionInitMeter", Thread.currentThread().getName()); this.sessionRequestMeter = metricsService.createMeter( "sessionRequestMeter", Thread.currentThread().getName()); this.sessionResponseMeter = metricsService.createMeter( "sessionResponseMeter", Thread.currentThread().getName()); this.redirectMeter = metricsService.createMeter( "redirectMeter", Thread.currentThread().getName()); this.errorMeter = metricsService.createMeter( "errorMeter", Thread.currentThread().getName()); }
/** * Inits the actor system. */ @PostConstruct public void initActorSystem() { LOG.info("Initializing Akka system..."); akka = ActorSystem.create(EPS, context.getConfig()); LOG.info("Initializing Akka EPS actor..."); opsActor = akka.actorOf(Props.create( new OperationsServerActor.ActorCreator(context)) .withDispatcher(CORE_DISPATCHER_NAME), EPS); LOG.info("Lookup platform protocols"); Set<String> platformProtocols = PlatformLookup.lookupPlatformProtocols( PlatformLookup.DEFAULT_PROTOCOL_LOOKUP_PACKAGE_NAME); LOG.info("Initializing Akka io router..."); ioRouter = akka.actorOf( new RoundRobinPool(context.getIoWorkerCount()) .withSupervisorStrategy(SupervisionStrategyFactory.createIoRouterStrategy(context)) .props(Props.create(new EncDecActor.ActorCreator(opsActor, context, platformProtocols)) .withDispatcher(IO_DISPATCHER_NAME)), IO_ROUTER_ACTOR_NAME); LOG.info("Initializing Akka event service listener..."); eventListener = new AkkaEventServiceListener(opsActor); context.getEventService().addListener(eventListener); clusterListener = new AkkaClusterServiceListener(opsActor); context.getClusterService().setListener(clusterListener); LOG.info("Initializing Akka system done"); }