Я хотел бы знать, возможно ли (и как) получить актера akka для получения сообщений от stdin. По сути, идея заключается в том, чтобы каждая строка ввода отправлялась в качестве сообщения актеру, например
> myprogram
DO X
DO Y
...
, а затем чтобы актер получал сообщения «DO X», «DO Y» и т. Д.
Есть ли стандартное решение для этого?
Я думаю, один из способов сделать это:
spawn {
while(in.available) {
actor ! in.readLine
}
}
Но тогда у меня было бы два актера (или одно основанное на актере задание и один актер), и я бы использовал блокировку ввода-вывода (это безопасно с актерами, кстати?) ... Кроме того, это делает труднее управлять блоком возрождения (например, чтобы убить задание).
Добавлены дополнительные наблюдения от OP
У меня есть пара наблюдений, если вы позволите мне ...
Есть ли снижение производительности при использовании этого решения (т. Е. CamelServiceManager
много чего запускает? HTTP-сервер и т. Д.)?
Есть хороший учебник для начинающих? Я начал читать Camel из официальной документации Akka, но, похоже, он предполагает больше знаний о Camel, чем я имею в настоящее время. Например, я не мог понять, как использовать пользовательский java.io.InputStream
как endpointUri
.