Cassandra 升级对Datastax Java API的调用,这些调用在3中消失

Cassandra 升级对Datastax Java API的调用,这些调用在3中消失,cassandra,datastax-java-driver,Cassandra,Datastax Java Driver,Datastax 3.x驱动程序中现在已经没有了许多API。它们被用来完成我所拥有的“框架”级驱动程序包装类 《升级指南》没有提供如何替换对已删除API的调用的示例(无论如何我都很关心)。下面是一些缺失的代码,我正在尝试升级我的代码。你知道是什么“取代”了它们吗 DataType.serialize(Object value, ProtocolVersion protocolVersion) DataType.deserialize(ByteBuffer bytes, ProtocolVer

Datastax 3.x驱动程序中现在已经没有了许多API。它们被用来完成我所拥有的“框架”级驱动程序包装类

《升级指南》没有提供如何替换对已删除API的调用的示例(无论如何我都很关心)。下面是一些缺失的代码,我正在尝试升级我的代码。你知道是什么“取代”了它们吗

DataType.serialize(Object value, ProtocolVersion protocolVersion) 
DataType.deserialize(ByteBuffer bytes, ProtocolVersion protocolVersion) 
DataType.asJavaClass()
DataType.Name.asJavaClass()
现在应该调用这些方法的API的任何帮助都将不胜感激。

Item#2通过自定义编解码器引用对数据类型的更改。
TypeCodec
不再连接到
DataType
,因为在驱动程序的3.0版本中,您可以为数据类型定义自己的编解码器。因此,这些方法不再通过
数据类型
直接提供

自定义编解码器(JAVA-721)引入了一些突破性的更改,还修改了一些运行时行为

以下是破坏性API更改的详细列表:

DataType不再引用TypeCodec,因此处理数据类型序列化和反序列化的大多数方法已被删除:

  • ByteBuffer序列化(对象值,ProtocolVersion ProtocolVersion)

  • 对象反序列化(字节缓冲字节,ProtocolVersion ProtocolVersion)

  • 类asJavaClass()

如果您有
数据类型
,则应通过使用解析
类型编解码器
或解析默认编解码器的
类型编解码器
静态方法,提供完成所需一切所需的详细信息
TypeCodec
提供您需要的方法,即:

TypeCodec<Long> bigIntCodec = TypeCodec.bigint();
bigIntCodec.serialize(10L, protocolVersion);
bigIntCodec.deserialize(bytes, protocolVersion);
Class<?> clazz = bigIntCodec.getJavaType().getRawType();
TypeCodec bigIntCodec=TypeCodec.bigint();
序列化(10L,协议版本);
反序列化(字节,协议版本);
类clazz=bigIntCodec.getJavaType().getRawType();

非常感谢,为我节省了很多时间!这些问题和提供的答案应在Cassandra升级文档中提供。我在寻找同样的问题!谢谢