akka アクターに stdin からメッセージを受信させることが可能かどうか (およびその方法) を知りたいです。基本的に、アイデアは、入力のすべての行がメッセージとしてアクターに送信されるようにすることです。
> myprogram
DO X
DO Y
...
次に、アクターに「DO X」、「DO Y」などのメッセージを受信させます。
これを行うための標準的な解決策はありますか?
1つの方法はこれを行うことだと思います:
spawn {
while(in.available) {
actor ! in.readLine
}
}
しかし、2 つのアクター (または 1 つのアクターベースのタスクと 1 つのアクター) があり、ブロッキング IO を使用することになります (ちなみに、それはアクターで安全ですか?)... また、制御が難しくなります。 spawn ブロック (タスクを強制終了するなど)。
OPからさらにフォローアップを追加
許可があれば、いくつかフォローアップがあります...
このソリューションを使用すると、パフォーマンスに影響がありますか (つまり
CamelServiceManager
、多くのことを開始しますか? HTTP サーバーなど)?初心者向けの良いチュートリアルはありますか?Akka の公式ドキュメントからCamelを読み始めましたが、現在持っている以上の Camel の知識を前提としているようです。
java.io.InputStream
たとえば、カスタムasの使い方がわかりませんでしたendpointUri
。