我想知道是否有可能(以及如何)让 akka 演员从标准输入接收消息。本质上,这个想法是将每一行输入作为消息发送给参与者,例如
> myprogram
DO X
DO Y
...
然后让演员接收消息“DO X”、“DO Y”等。
有没有标准的解决方案来做到这一点?
我想一种方法是这样做:
spawn {
while(in.available) {
actor ! in.readLine
}
}
但是后来我有两个演员(或一个基于演员的任务和一个演员),我会使用阻塞 IO(顺便说一句,演员安全吗?)......而且,它更难控制生成块(例如杀死任务)。
添加了 OP 的进一步跟进
我有几个跟进,如果你允许我...
使用此解决方案是否会影响性能(即确实
CamelServiceManager
启动了很多事情?HTTP 服务器等)?有适合初学者的好教程吗?我从官方的 Akka 文档开始阅读Camel,但它似乎假设我对 Camel 的了解比我目前拥有的更多。例如,我不知道如何使用自定义
java.io.InputStream
asendpointUri
。