2011-12-29 56 views
1

有没有什么办法来持久化一个Java对象,节俭序列化,并将其恢复为.net对象,反序列化它?卡桑德拉:如何坚持和恢复节俭的对象?

我有一个用java开发的软件,它将许多纯粹的对象持久化到cassandra中。现在我想用c#.net构建一个cassandra客户端,以便在可视化系统中提供简单的pgadmin或mysql工作台(搜索,更新,插入等)中的常用功能。出于这个原因,有必要反序列化持久化对象以使其可变。

是否有可能通过使用节俭序列化?

+0

我相信你能做到这一点,但你必须流的Java对象的响应转换为字节数组 – MethodMan 2011-12-29 18:05:04

回答

1

问题修复。

我可以让一个BytesType列成为跨语言可读的持久化Thrift序列化对象。

hector issues page赫克托问题网页,我贴我的解决之道:

1

这样的事情会为你工作..? 如果不是那么无视

byte[] javabuffer = new byte[1000]; 
using (Stream stream = myRequest.GetResponse().GetResponseStream()) 
{ 
    stream.Read(javabuffer, 0, 1000); 
} 
+0

好吧,你假定我”使用简单的Hector ObjectSerializer持久化java对象? 我需要测试它。一旦我做到了,我会回答它是否有效。在此之前,我会尝试使用默认的节俭序列化来坚持节俭的对象。这样,我想我可以直接从.net代码中恢复节俭对象。 (提前致谢) – 2011-12-29 18:53:18

+0

不是问题,我对任何误解表示歉意 – MethodMan 2011-12-29 19:09:36

0

您可能需要的交换格式,XML或JSON会是不错的选择。然后,您将持有Cassandra中的密钥的XML/JSON字节,并使其他语言的代码反过来。

HTH