Vertx 3.6.3:具有DeliveryOptions的eventBus.send()失败

时间:2019-03-29 10:33:35

标签: vert.x vertx-eventbus

我的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() }

我想念什么?

TIA

0 个答案:

没有答案