liulingling.177216
2024-08-26 349f1cfc5fa77fbc636d542df0d8050fddec48c2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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<? extends Actor> actorClass() {
    return (Class<? extends Actor>) applicationContext.getType(actorBeanName);
  }
}