我正在尝试将java.util.Date类型变量添加为流的输入。它不接受并抱怨不可序列化。我怎样才能解决这个问题。我看到Date不是DefaultSerializable类的一部分。
我发现我甚至无法从保险库中检索日期类型字段。看到相同的错误。
有没有办法让java util Date Serializable?
答案 0 :(得分:3)
您要将java.util.Date或您使用的日期列入白名单。
创建一个文件夹结构,如:
资源> META-INF> 服务> net.corda.core.serialization.SerializationWhitelist.txt 在您的服务文件夹下。
现在创建一个类,如下所示,使其实现SerializationWhitelist,并在getWhitelist方法中输入要列入白名单的所有类的名称。
public class SerializationWhiteList implements SerializationWhitelist {
@NotNull
@Override
public List<Class<?>> getWhitelist() {
return ImmutableList.of(HashSet.class, java.sql.Date.class, java.util.Date.class,
Instant.class);
}
}
在SerializationWhitelist.txt文件中,提及包括包名称的完整类名 例如:com.sc.corda.node.util.SerializationWhiteList。
在引导时,Corda会查找此处提到的类将白名单