package com.dingzhuo.compute.engine.utils; import akka.actor.Actor; import akka.actor.IndirectActorProducer; import org.springframework.context.ApplicationContext; /** * @author fanxinfu */ public class SpringActorProducer implements IndirectActorProducer { final private ApplicationContext applicationContext; final private String actorBeanName; public SpringActorProducer(ApplicationContext applicationContext, String actorBeanName) { this.applicationContext = applicationContext; this.actorBeanName = actorBeanName; } @Override public Actor produce() { return (Actor) applicationContext.getBean(actorBeanName); } @Override public Class actorClass() { return (Class) applicationContext.getType(actorBeanName); } }