Implemented usage of (modified) developer preview of couchbase java-client 2.0.
Merge branch 'master' into couchbase-client-2.0.0dp
Merge remote-tracking branch 'remotes/origin/master' into couchbase-client-2.0.0dp
Merge remote-tracking branch 'origin/couchbase-client-2.0.0dp' into couchbase-client-2.0.0dp
Merge remote-tracking branch 'origin/master' into couchbase-client-2.0.0dp
Implemented async Couchbase communication via Observable in CouchbaseWrapper.getDocument().
Made a better differentiation between MessageType and ControlMessageType (more or less user or system based messages). Added caching for ControlMessage instances without content. Got rid of isReady state variable in MessageProcessor. Fixed mark documents as read function (message was not passed to processor in dispatcher). Created new message to handle fetched document metadata in new message, so we have a single-threaded modification of map again (possible multi-threading bug).
Adapt first part of integration test to new async couchbase methods.
Implemented async Couchbase communication via Observable in CouchbaseWrapper.insertDocument().
Implemented async Couchbase communication via Observable in CouchbaseWrapper.deleteDocument(). Fixed wrong handling of queueSize incrementation for mark document as read and delete document.
Improved output of DeadLetterListener.
Encapsulated Couchbase functions behind new interface DatabaseWrapper. Inject DatabaseWrapper instead of Bucket. Fixed integration tests by mocking DatabaseWrapper instead of Bucket. Fixed handling of ResponseStatus.NOT_EXISTS for DatabaseWrapper.getDocument() calls. Fixed handling of non-existent metadata document.
Moved CouchbaseManager from base to cluster-service module.
Replaced AtomicLong with LongAdder in most classes.