0

我的 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:没有消息编解码器类型:io.vertx.core.eventbus.impl.CodecManager.lookupCodec(CodecManager.java:101) 的 io.vertx.core.eventbus.impl 的类 java.util.LinkedHashMap。 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

4

0 回答 0