Ork*_*zen 4 exception event-bus vert.x
我有一个创建事件总线使用者的顶点,如下所示:
public void start() {
vertx.eventBus().consumer(ADDRESS_REQUEST, this::handleRequestMessage);
}
private void handleRequestMessage(Message<VWApiConversation> msg) {
VWApiConversation conversation = msg.body();
}
Run Code Online (Sandbox Code Playgroud)
但是在向该地址发送消息时:
vertx.eventBus().send(VehicleStateCoordinatorVerticle.ADDRESS_REQUEST, conversation, deliveryOptions, res -> {
Run Code Online (Sandbox Code Playgroud)
...
我得到错误:
java.lang.IllegalArgumentException: No message codec for type: class com.vulog.vwgateway.model.VWApiConversation
Run Code Online (Sandbox Code Playgroud)
我想念什么吗?
默认情况下,Vert.x支持序列化JVM原语Buffers和JsonObjects。对于其他自定义类型,您需要编写自己的MessageCodec。
这是一些可能有帮助的文档:
MessageCodec实现。(此代码段中未显示的是通过进行编解码器的注册EventBus.registerCodec()。)为了我的品味,我一直将其JsonObject用作消息传递媒体(因为我的设置使我能够使用)。为每种域类型编写自定义(反)序列化器似乎很麻烦。
| 归档时间: |
|
| 查看次数: |
1833 次 |
| 最近记录: |