2015-03-25 23 views

回答

1

Chronicle-Queue提供了低级构建块,您可以使用它来编写任何类型的消息,因此您可以选择正确的数据结构。

作为示例,您可以使用某些元数据将写入的数据前缀到带有小标题的编年史中,然后将其用作数据处理的标识符。

0

您也可以编写/读取通用对象。这会比使用你自己的方案稍慢,但它是一种简单的方式来总是读你写的类型。

0

要做到这一点我用铁丝

try (DocumentContext dc = appender.writingDocument()) 
{ 
    final Wire wire = dc.wire(); 
    final ValueOut v = wire.getValueOut(); 
    valueOut.typePrefix(m.getClass()); 
    valueOut.marshallable(m); 
} 

当读回我:

try (DocumentContext dc = tailer.readingDocument()) 
{ 
    final Wire wire = dc.wire(); 
    final ValueIn valueIn = wire.getValueIn(); 
    final Class clazz = valueIn.typePrefix(); 
    // msgPool is a prealloacted hashmap containing the messages I read 
    final ReadMarshallable readObject = msgPool.get(clazz); 
    valueIn.readMarshallable(readObject) 
    // readObject can now be used 
} 
相关问题