package com.dingzhuo.compute.engine;
|
|
import akka.actor.ActorSystem;
|
import com.dingzhuo.compute.engine.utils.ActorUtil;
|
import com.dingzhuo.compute.engine.utils.SpringAkkaExtension;
|
import com.typesafe.config.Config;
|
import com.typesafe.config.ConfigFactory;
|
import org.springframework.context.ApplicationContext;
|
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Configuration;
|
|
/**
|
* @author fanxinfu
|
*/
|
@Configuration
|
public class ApplicationConfiguration {
|
|
private final ApplicationContext applicationContext;
|
private final SpringAkkaExtension springAkkaExtension;
|
|
public ApplicationConfiguration(
|
ApplicationContext applicationContext, SpringAkkaExtension springAkkaExtension) {
|
this.applicationContext = applicationContext;
|
this.springAkkaExtension = springAkkaExtension;
|
}
|
|
@Bean
|
public ActorSystem actorSystem() {
|
ActorSystem system = ActorSystem.create(ActorUtil.ACTOR_SYSTEM, akkaConfiguration());
|
springAkkaExtension.initialize(applicationContext);
|
system.dispatchers().lookup("computeDispatcher");
|
return system;
|
}
|
|
@Bean
|
public Config akkaConfiguration() {
|
return ConfigFactory.load("akka");
|
}
|
|
}
|