小编use*_*540的帖子

如何根据类名创建一个Akka Actor

我想通过使用类名创建一个Akka actor,如图所示.我已经尝试过system.actorOf(new Props(theProcessor.getClass),name ="Test")的许多变体,但我无法让它工作.从类加载器创建Actor的任何想法

package com.test

import akka.actor.{Props, Actor, ActorRef, ActorSystem}

object Main {
  def main(args: Array[String]) {
   ActorFromString("Test")
  }
}

object ActorFromString {
  implicit val system = ActorSystem("Test")
  def apply(name: String): ActorRef = {
    val className = "com.test." + name + "Processor"
    val theProcessor: Actor = Class.forName(className).newInstance().asInstanceOf[Actor]
    system.actorOf(new Props(theProcessor.getClass), name = "Test")
  }
}

class TestProcessor extends Actor {
  def receive = {
    case data => println("processing data")
  }
}

Exception in thread "main" akka.actor.ActorInitializationException:
You cannot create an …
Run Code Online (Sandbox Code Playgroud)

scala akka

4
推荐指数
2
解决办法
5784
查看次数

标签 统计

akka ×1

scala ×1