当我们已经了解Akka的基础知识之后,我们更多的是想知道在实际项目中,我们应该怎样使用起来。按照目前业界使用的技术来看,spring应该占主流,由于spring本身需要太多的配置文件,流程繁杂,这里采用较轻量的springboot来向大家介绍,只是省去诸多配置文件,操作过程都一样。
与springboot集成,是因为我们想把ActorSystem、Actor等组件的创建纳入SpringBoot容器中,方便管理。大家都知道,ActorSystem的创建不是依赖new方式,而是通过create方法,所以我们需要写一个Bean来生产ActorSystem。另外Actor,它也是通过actorOf()方法创建的,所以我们也需要写生产Actor引用的方法,Akka提供了IndirectActorProducer接口,通过实现该接口,我们就可以实现DI(依赖注入)。集成springboot之后,ActorSystem范围内的依赖都会交给SpringBoot来管理,并且每个ActorSystem都会持有一个ApplicationContext。
下面我们开始来看看集成是怎样实现的:
在实现之前,我们需要加入相关依赖,如下:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.typesafe.akka</groupId>
<artifactId>akka-slf4j_2.11