관련 : 나는 AKKA의 HTTP 응용 프로그램이찾을 수 java.util.concurrent.Future 필수 scala.concurrent.Future
How to integrate akka streams kafka (reactive-kafka) into akka http application?
, 나는 ': scala.concurrent.Future wrapper for java.util.concurrent.Future
이 내 다른 질문에서 온 다음과 같이, 내 경로에서의 onComplete 함수에서 카프카에 메시지/ProducerRecord를 전송하고 싶습니다 :
val producer : KafkaProducer = new KafkaProducer(producerSettings)
val routes : Route =
post {
entity(as[User]) { user =>
val createUser = userService.create(user)
onSuccess(createUser) {
case Invalid(y: NonEmptyList[Err]) =>
complete(BadRequest -> "invalid user")
case Valid(u: User) => {
val producerRecord =
new ProducerRecord[Array[Byte], String]("topic1","some message")
onComplete(producer.send(producerRecord)) { _ =>
complete(ToResponseMarshallable((StatusCodes.Created, u)))
}
}
}
}
}
을하지만, 의 onComplete (제조자 producerRecord를 보내)는 다음 타입 불일치 에러 발생된다
[오류] 발견 미래 [org.apache.kafka.clients.producer.RecordMetadata] (java.util.concurrent의) 오류 ] 필수 : 미래 [org.apache.kafka.clients.producer.RecordMetadata]
어쩌면만큼 제작자를 사용하여,이 주위에 어떤 방법이 onCompleteRecordMetadata _ {=>] [오차 (scala.concurrent에서) 싱크 ( http://doc.akka.io/docs/akka-stream-kafka/current/producer.html#producer-as-a-sink) 대신 producer.send 함수가 필요합니까?