首页 文章

将thrift数据保存在数据库中

提问于
浏览
2

我需要将收到的thrift数据存储在数据库中,所以我可以稍后再读它并再次通过thrift客户端发送它 . 如何存储它,即作为blob而不从thrift生成的类中执行一些临时序列化对象 .

thrift client A - > thrift server A - > database - > thrift client B - > thrift server B

解:

class LocalRpcHandler : virtual public LocalRpcIf {
public:

    shared_ptr<TMemoryBuffer> memBuff;
    shared_ptr<TBinaryProtocol> binProt;
....

    void send(const Sample& sample) {

        sample.write(binProt.get());
                saveToDatabase(memBuff);

    }
}

1 回答

  • 0

    C实现有TProtocolTap,可用于执行此操作 . 为其他语言编写类似的东西很容易,只需查看C代码即可 .

    它基本上允许将两个协议连接成一个 . 然后,第二个协议可以对数据执行任何操作 .

相关问题