2016-03-19 15 views
2
aracılığıyla aktarın

Başka bir işlemin STDOUT'unu engellemek ve akka akışıyla akıtmak mümkün mü?STDOUT'I kesip akka

Teşekkür

Arun

+0

bu sizin scala kodundan aday olacağını bir süreç midir? Örneğin, "ls" komutu için stdout akışını yayınlamak için: 'stdout: Kaynak [Message, NotUsed] = Source.fromIterator [Message] (() => Process (" ls "). LineStream.toIterator.map (satır => TextMessage.Strict (satır))) ' – ecoe

cevap

1

değil hemen çapraz burada and akka-user Sorularınızı göndermek Lütfen, bu zor cevap soruları izlemeyi kolaylaştırır. Bir süre sonra bir cevap almadıysanız, lütfen hemen gönderilmemelidir.

Java'da stdout'u "kesiştirmek" için System nesnesinde setOut yapabilirsiniz. Burada, biz OutputStream "köprü" Akka Akışları sağladığını sararak oluşturmak edebiliyoruz bir PrintWriter alır açıklanmıştır:

val is: OutputStream = StreamConverters.asOutputStream() 
    .to(Sink.foreach(println)) // your logic pipeline here 
    .run() 
System.setOut(new PrintStream(is))