how debug code in scala future?
i'm using intellij.
aside logging don't see how.
any advise on how proceed?
edit1:
here error get:
java.lang.illegalaccesserror: tried access field org.iadb.poolpartyconnector.conceptsrecommendation.relevantconceptsrecommendationservicepoolpartyimpl$$anonfun$2$$anonfun$apply$1$$anonfun$apply$2$$anonfun$apply$3.concepts$1 class org.iadb.poolpartyconnector.conceptsrecommendation.relevantconceptsrecommendationservicepoolpartyimpl$$anonfun$2$$anonfun$apply$1$$anonfun$apply$2$$anonfun$apply$3$generatedevaluatorclass$3$1 @ org.iadb.poolpartyconnector.conceptsrecommendation.relevantconceptsrecommendationservicepoolpartyimpl$$anonfun$2$$anonfun$apply$1$$anonfun$apply$2$$anonfun$apply$3$generatedevaluatorclass$3$1.invoke(filetocompile0.scala:173) @ org.iadb.poolpartyconnector.conceptsrecommendation.relevantconceptsrecommendationservicepoolpartyimpl$$anonfun$2$$anonfun$apply$1$$anonfun$apply$2$$anonfun$apply$3.apply(relevantconceptsrecommendationservice.scala:169) @ org.iadb.poolpartyconnector.conceptsrecommendation.relevantconceptsrecommendationservicepoolpartyimpl$$anonfun$2$$anonfun$apply$1$$anonfun$apply$2$$anonfun$apply$3.apply(relevantconceptsrecommendationservice.scala:166) @ scala.concurrent.impl.future$promisecompletingrunnable.liftedtree1$1(future.scala:24) @ scala.concurrent.impl.future$promisecompletingrunnable.run(future.scala:24) @ akka.dispatch.taskinvocation.run(abstractdispatcher.scala:40) @ akka.dispatch.forkjoinexecutorconfigurator$akkaforkjointask.exec(abstractdispatcher.scala:397) @ scala.concurrent.forkjoin.forkjointask.doexec(forkjointask.java:260) @ scala.concurrent.forkjoin.forkjoinpool$workqueue.runtask(forkjoinpool.java:1339) @ scala.concurrent.forkjoin.forkjoinpool.runworker(forkjoinpool.java:1979) @ scala.concurrent.forkjoin.forkjoinworkerthread.run(forkjoinworkerthread.java:107) java.lang.nosuchfielderror: doc$1 @ org.iadb.poolpartyconnector.conceptsrecommendation.relevantconceptsrecommendationservicepoolpartyimpl$$anonfun$2$$anonfun$apply$1$$anonfun$apply$2$$anonfun$apply$3$generatedevaluatorclass$4$1.invoke(filetocompile1.scala:173) @ org.iadb.poolpartyconnector.conceptsrecommendation.relevantconceptsrecommendationservicepoolpartyimpl$$anonfun$2$$anonfun$apply$1$$anonfun$apply$2$$anonfun$apply$3.apply(relevantconceptsrecommendationservice.scala:169) @ org.iadb.poolpartyconnector.conceptsrecommendation.relevantconceptsrecommendationservicepoolpartyimpl$$anonfun$2$$anonfun$apply$1$$anonfun$apply$2$$anonfun$apply$3.apply(relevantconceptsrecommendationservice.scala:166) @ scala.concurrent.impl.future$promisecompletingrunnable.liftedtree1$1(future.scala:24) @ scala.concurrent.impl.future$promisecompletingrunnable.run(future.scala:24) @ akka.dispatch.taskinvocation.run(abstractdispatcher.scala:40) @ akka.dispatch.forkjoinexecutorconfigurator$akkaforkjointask.exec(abstractdispatcher.scala:397) @ scala.concurrent.forkjoin.forkjointask.doexec(forkjointask.java:260) @ scala.concurrent.forkjoin.forkjoinpool$workqueue.runtask(forkjoinpool.java:1339) @ scala.concurrent.forkjoin.forkjoinpool.runworker(forkjoinpool.java:1979) @ scala.concurrent.forkjoin.forkjoinworkerthread.run(forkjoinworkerthread.java:107)
my code:
def filterresultswithextractionsettings(conceptresults: conceptresults): conceptresults = { import system.dispatcher val mylist: iterable[future[list[concept]]] = (fieldsettings <- fieldsettingslist if fieldsettings.maxconceptsextraction > 0; doc <- conceptresults.document; concepts <- doc.concepts) yield { future { val schemefiltered = concepts.withfilter(e => e.conceptschemes.contains(fieldsettings.scheme)).flatmap(e=> list(e)) schemefiltered.size match { case e if e > fieldsettings.maxconceptsextraction => schemefiltered.take(fieldsettings.maxconceptsextraction) case _ => schemefiltered } } } val res = await.result(future.sequence(mylist), duration.inf).flatten.tolist val distinctres = res.distinct conceptresults.copy(document = some(conceptresults.document.get.copy(concepts = some(distinctres)))) }
since using intellij, can add breakpoint within future. can clicking on gutter left of line of text want breakpoint on.
https://www.jetbrains.com/idea/help/creating-breakpoints.html
Comments
Post a Comment