мой Groovy код:
class GatewayVerticle extends AbstractVerticle {
DeliveryOptions HOP_OPTS = new DeliveryOptions( sendTimeout:5000 )
// also tried
//DeliveryOptions HOP_OPTS = new DeliveryOptions()
//DeliveryOptions HOP_OPTS = new DeliveryOptions().setSendTimeout( 5000 )
@Override
void start() throws Exception {
vertx.eventBus().send( 'addr', [ aa:42 ], HOP_OPTS ){ println it }
}
}
терпит неудачу с
java.lang.IllegalArgumentException: нет кодека сообщений для типа: класс java.util.LinkedHashMap
в io.vertx.core.eventbus.impl.CodecManager.lookupCodec (CodecManager.java:101)
в io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.createMessage (ClusteredEventBus.java:180)
в io.vertx.core.eventbus.impl.EventBusImpl.send (EventBusImpl.java:111)
Если я пропущу настройку sendTimeout
, произойдет сбой с тем же исключением.
Следующая строка отлично работает:
vertx.eventBus().send( 'gateway', [ aa:42 ] ){ doSomeStuff() }
Чего мне не хватает?
ТИА