2015-09-24 23 views
2

我在Akka Actor中使用readLine以允許當某些條件失敗時輸入一些數據。我在REPL中測試了readLine,它按需要工作。但是,當我把它放到我的Actor中並且readLine被執行時,預期的事情發生在控制檯中,但是當我在StdIn中輸入文本後按Enter鍵時,什麼也沒有發生,它只會永遠掛起。scala.io.StdIn.readLine永久暫停執行,即使在命中後輸入

不確定它是否相關,但是Actor正在快速排隊處理一堆消息;這個問題讓我覺得在演員中暫停執行是一個不可能的事情?

+0

最小完整的可驗證示例,請問? http://stackoverflow.com/help/mcve –

+0

我有與scala.ioStdIn.getLines相同的問題。對我來說,它總是在處理完最後一行後掛起。我不認爲這是Akka的問題,因爲我沒有在我的情況下使用Akka –

+0

在我的情況下,它是一個非常小的CSV(3行,3列)。它不是一個大小問題 –

回答

0

在我的情況下,我的情況與Eclipse IDE的stdIn集成有關。即使您將其配置爲從文件讀取stdin,它仍會將其附加到控制檯,以便一旦讀取了該文件,您仍必須從控制檯發送終止命令才能完成讀取操作。 如果您使用Mac,請務必通過發送終止命令來閱讀其他的怪癖。

Eclipse reading StdIn(System.in) from console, but will not give any output