Utilizando el valor inicial de observable en suscripción junto con el mapeado

Eche un vistazo al siguiente fragment de código:

vertx.eventBus().consumer<JsonObject>(CREATEMEETING_SERVICE_ID).toObservable() .map { objectMapper.readValue(it.body().getJsonObject("body").encode(), Meeting::class.java) } .flatMap (meetingService::createMeeting) .subscribe( { Json.encodePrettily(it) }, { throw it } ) 

Necesito llamar al método message.reply del observable inicial en el método NextNext de suscripción. Una forma de hacerlo es usar Pares de en lugar de conocer solo lo que lo hace feo. ¿Hay alguna otra opción para hacer que esto funcione sin tener que usar Pares ?

Sé de una manera más que es así:

 vertx.eventBus().consumer<JsonObject>(CREATEMEETING_SERVICE_ID).toObservable() .subscribe { message -> Observable.just(objectMapper.readValue(message.body().getJsonObject("body").encode(), Meeting::class.java)) .flatMap(meetingService::createMeeting) .subscribe( { message.reply(Json.encodePrettily(it)) }, { throw it } ) } 

Pero también se ve mal.

Tal vez también explica el problema.