メソッド processLine のどこかにブレークポイントをドロップすると、デバッガーはその行で停止しません。ブレークポイントがないかのように実行されます。akka ストリーム フローのデバッグは多少異なりますが、この問題を解決するにはどうすればよいですか?
val stream = source.
map( csvLine => A.processLine(csvLine)).
runWith(Sink)
メソッド processLine のどこかにブレークポイントをドロップすると、デバッガーはその行で停止しません。ブレークポイントがないかのように実行されます。akka ストリーム フローのデバッグは多少異なりますが、この問題を解決するにはどうすればよいですか?
val stream = source.
map( csvLine => A.processLine(csvLine)).
runWith(Sink)
ScalaIDEで同様の問題が発生しました。
私の解決策は、通常、「ビジネス ロジック」を akka の依存関係から分離することでした。
//no akka imports required
case class Tweet(val author : String, val body : String)
def validAuthor(author : String) : Boolean = {
author.trim().size > 0 && !author.equalsIgnoreCase("jk_rowling") //breakpoint works here
}
次に、私の非同期コードは、buz ロジックへの単純な呼び出しになります。
import akka.stream.scaladsl.{Source, Sink}
val source : Source[Tweet,_] = ???
val flow = source.filter(validAuthor)
.runWith(Sink foreach println)
その後、IDE は buz ロジック内のブレークポイントに従いますvalidAuthor
。