3

I am migrating an old application from using the Couchbase java client, 2.2.5 to Spring-boot-couchbase. I would like to use Spring Data's Crud Repository.

The problem I am running into is that the document in Couchbase is RAW format, (See more info here: Couchbase non-json docs). I have set up a crud repository interface and when connecting to other buckets with other json-formatted data, it works perfectly. When attempting to read the byte array data I get this error:

org.springframework.dao.DataRetrievalFailureException: Flags (0x802) indicate non-JSON document for id 9900fb3d-1edf-4428-b9e6-0ef6c3251c08, could not decode.; nested exception is com.couchbase.client.java.error.TranscodingException: Flags (0x802) indicate non-JSON document for id 9900fb3d-1edf-4428-b9e6-0ef6c3251c08, could not decode.

I have tried the following object types in the repository: public interface MyRepository extends CouchbasePagingAndSortingRepository<Object, String> {

  • Object
  • byte[]
  • The object with an id and byte[] fields (and setters & getters)
  • Objects from the java-client
    • CouchbaseDocument
    • RawJsonDocument
    • AbstractDocument I've also attempted to write a custom jackson mapper but the error message stays consistent in that it's trying to deserialize a non-json document.
Mark
  • 606
  • 7
  • 12

0 Answers0