Имея очень простой ДОУ, такие как этот:Как написать VanillaChronicle
IndexedChronicle chronicle = getChronicle("basic");
ExcerptAppender appender = chronicle.createAppender();
appender.startExcerpt();
appender.writeObject(new MessageKey("type", 123L));
appender.finish();
ExcerptTailer tailer = chronicle.createTailer();
while(tailer.nextIndex()) {
MessageKey key = (MessageKey) tailer.readObject();
System.out.println("key " + key);
}
VanillaChronicle vcron = getVainllaChronicle("vanilla");
VanillaAppender app = vcron.createAppender();
app.startExcerpt();
app.writeObject(new MessageKey("type", 123L));
app.finish();
ExcerptTailer vtail = vcron.createTailer();
while(vtail.nextIndex()) {
MessageKey key = (MessageKey) vtail.readObject();
System.out.println("key " + key);
}
дает мне IndexOutOfBoundsException
в writeObject
метода на VanillaAppender
.
Однако есть небольшая разница, и ничего исключительно отличается в docs
Может кто-нибудь подскажет, как его следует использовать?
Update:
я переоформлена код таким образом, он стал идентичным Петерс (скопировано его, на самом деле), но я все еще получаю это исключение:
Exception in thread "main" java.lang.IndexOutOfBoundsException: position is beyond the end of the buffer 372 > -190495716
at net.openhft.lang.io.NativeBytes.checkEndOfBuffer(NativeBytes.java:518)
at net.openhft.lang.io.AbstractBytes.writeObject(AbstractBytes.java:1897)
at main.ChronicleTest.main(ChronicleTest.java:31)
версия импортируемого 3,2. 1
<dependency>
<groupId>net.openhft</groupId>
<artifactId>chronicle</artifactId>
<version>3.2.1</version>
</dependency>
Можете ли вы дать всю трассировку стека? Я предполагаю, что у вас есть настройки по умолчанию, и ваше сообщение относительно невелико. –