gpt4 book ai didi

java - 序列化 BoundStatement cassandra

转载 作者:行者123 更新时间:2023-12-02 12:36:16 24 4
gpt4 key购买 nike

我有一个用例,我想要序列化 Cassandra BoundStatement 并将其转换为 byte[] 数组并通过网络发送并将其反序列化回来到Bound Statement对象。

我正在使用Java 8。

但是问题是BoundStatement 没有实现Serialized 接口(interface)。

有什么方法可以序列化 BoundStatement,通过 HTTP 发送它并将其反序列化回 BoundStatement

最佳答案

如果你想序列化BoundStatement,那么你还必须序列化PreparedStatementDataWrapper,因为BoundStatement使用他们俩。

即使您能够序列化 BoundStatement,如果没有创建它的 session ,您也无法执行它。如果您使用其他 session 执行 BoundStatement,Driver 将抛出 InvalidQueryException

Exception in thread "main" com.datastax.driver.core.exceptions.InvalidQueryException: Tried to execute unknown prepared query : 0x0c245df8681f7dc939aba0c76164e4d3. You may have used a PreparedStatement that was created with another Cluster instance.
at com.datastax.driver.core.SessionManager.makeRequestMessage(SessionManager.java:571)
at com.datastax.driver.core.SessionManager.executeAsync(SessionManager.java:131)
at com.datastax.driver.core.AbstractSession.execute(AbstractSession.java:68)
...

关于java - 序列化 BoundStatement cassandra,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45119770/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com