I have this code:
val task = (() => {
lineStream
.parallel()
.forEach(((line: String) => {
val key = extractKeyFromLine(line)
val random = ThreadLocalRandom.current()
val csvRecord = gson.toJson(CsvRecordDto(random.nextInt(24), line))
val record = new StringRecord(topic, key, csvRecord)
val prod = producer.get()
prod.send(record, MessageCallback)
}).asJava.asInstanceOf[Consumer[String]])
}).asJava
pool.submit(task).get()
The pool
variable is a ForkJoinPool
. The runtime complains that task
is a Supplier
and not a Callable
.
The .asJava
thing is from scala.compat.java8.FunctionConverters._
.
How do I fix this in scala 2.11.7?