Corda 4.0事务序列化问题 [英] Corda 4.0 transaction serialization issue

查看:42
本文介绍了Corda 4.0事务序列化问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

最近已升级到Corda 4.0,现在在尝试创建事务时看到序列化异常:

Having recently upgraded to Corda 4.0 we are now seeing a serialization exception when trying to create transactions:

[错误] 10:09:49,500 [模拟网络] amqp.SerializationOutput.--序列化失败direction ="Serialize",type ="net.corda.core.transactions.TraversableTransaction",msg =为参数命令定义的吸气剂,返回类型java.util.List>尚未发布类型是java.util.List>,ClassChain ="net.corda.core.transactions.TraversableTransaction"{actor_id =仅用于测试,actor_owning_identity = O =供应商1,L =伦敦,C = GB,actor_store_id = TEST,fibre-id = 10000001,flow-id = e61b7da7-6826-4410-9414-1c03bebbc3fe,invocation_id = 58c5f5ff-09f8-4bfa-bbe5-cf6b0ef47d06,invocation_timestamp = 2019-03-28T10:09:46.205Z,origin =仅用于测试,session_id = 58c5f5ff-09f8-4bfa-bbe5-cf6b0ef47d06,session_timestamp = 2019-03-28T10:09:46.205Z,thread-id = 400}

[ERROR] 10:09:49,500 [Mock network] amqp.SerializationOutput. - Serialization failed direction="Serialize", type="net.corda.core.transactions.TraversableTransaction", msg="Defined getter for parameter commands returns type java.util.List> yet underlying type is java.util.List>", ClassChain="net.corda.core.transactions.TraversableTransaction" {actor_id=Only For Testing, actor_owning_identity=O=Supplier 1, L=London, C=GB, actor_store_id=TEST, fiber-id=10000001, flow-id=e61b7da7-6826-4410-9414-1c03bebbc3fe, invocation_id=58c5f5ff-09f8-4bfa-bbe5-cf6b0ef47d06, invocation_timestamp=2019-03-28T10:09:46.205Z, origin=Only For Testing, session_id=58c5f5ff-09f8-4bfa-bbe5-cf6b0ef47d06, session_timestamp=2019-03-28T10:09:46.205Z, thread-id=400}

任何想法是什么原因造成的?

Any ideas what causes this?

推荐答案

每次在Corda 4上看到这种形式的错误消息:

Anytime you see an error message of this form on Corda 4:

为参数[参数名称]定义的吸气剂返回类型[type]基本类型是[完全相同的类型]

Defined getter for parameter [parameter name] returns type [type] yet underlying type is [exactly the same type]

这是由某些番石榴版本中的错误引起的.

It's caused by a bug in certain versions of Guava.

Corda 4使用Guava版本 25.1-jre .但是,如果您的节点加载了另一个覆盖了Corda的Java版本的Guava版本(例如 21.0 ),则会看到此错误.

Corda 4 uses Guava version 25.1-jre. However, if your node loads another version of Guava (e.g. 21.0) that overrides Corda's version of Java, you will see this error.

计划对Corda 4.1进行修复.

A fix is planned for Corda 4.1.

这篇关于Corda 4.0事务序列化问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆