簡體   English   中英

使用二進制協議序列化記錄時,OrientDB服務器端NullPointerException

[英]OrientDB serverside NullPointerException while serializing record using binary protocol

我剛剛開始使用C ++對orientDB實現二進制協議API。 使用的orientDB的當前版本是“ orientdb-community-2.2.29”,帶有Win 10 x64和Java 1.8。 由於我已嘗試在示例數據庫服務器上查詢“從XXXX選擇*”,因此拋出了服務器端異常,並且沒有記錄序列化到客戶端。 以下是成功連接和查詢后的日志:

2017-12-03 14:14:12:561 INFO  {db=Site} /0:0:0:0:0:0:0:1:2520 - Writing bytes (4+0=4 bytes): null [OChannelBinaryServer]$ANSI{green {db=Site}} Error on unmarshalling record #73:0 (java.lang.NullPointerException)
java.lang.NullPointerException
    at com.orientechnologies.orient.server.network.protocol.binary.ONetworkProtocolBinary.getRecordBytes(ONetworkProtocolBinary.java:2894)
    at com.orientechnologies.orient.server.network.protocol.binary.ONetworkProtocolBinary.writeRecord(ONetworkProtocolBinary.java:2907)
    at com.orientechnologies.orient.server.network.protocol.binary.ONetworkProtocolBinary.writeIdentifiable(ONetworkProtocolBinary.java:2697)
    at com.orientechnologies.orient.server.network.protocol.binary.ONetworkProtocolBinary.serializeValue(ONetworkProtocolBinary.java:1639)
    at com.orientechnologies.orient.server.network.protocol.binary.ONetworkProtocolBinary.command(ONetworkProtocolBinary.java:1584)
    at com.orientechnologies.orient.server.network.protocol.binary.ONetworkProtocolBinary.executeRequest(ONetworkProtocolBinary.java:660)
    at com.orientechnologies.orient.server.network.protocol.binary.ONetworkProtocolBinary.sessionRequest(ONetworkProtocolBinary.java:394)
    at com.orientechnologies.orient.server.network.protocol.binary.ONetworkProtocolBinary.execute(ONetworkProtocolBinary.java:217)
    at com.orientechnologies.common.thread.OSoftThread.run(OSoftThread.java:81)

2017-12-03 14:14:12:561 WARNI {db=Site} Cannot serialize record: XXXX#73:0{Name:[2],IDs:[1]} v3 [ONetworkProtocolBinary]

在寫入“空”字節之前,recordID,位置和記錄版本已正確序列化並在客戶端正確接收,而且從Studio或控制台進行查詢的過程也很吸引人。 我試圖將類-屬性更改為STRING或EMBEDDEDMAP,但存在相同的問題。

在此先感謝您的幫助:-)

幸運的是,我自己發現了錯誤:配置了錯誤的SerializationImpl。 正確的配置必須是ORecordSerializerBinary,而不是ONetworkProtocolBinary。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM