• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java SerializableDocument类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中com.couchbase.client.java.document.SerializableDocument的典型用法代码示例。如果您正苦于以下问题:Java SerializableDocument类的具体用法?Java SerializableDocument怎么用?Java SerializableDocument使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



SerializableDocument类属于com.couchbase.client.java.document包,在下文中一共展示了SerializableDocument类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: getTicket

import com.couchbase.client.java.document.SerializableDocument; //导入依赖的package包/类
@Override
public Ticket getTicket(final String ticketId) {
    try {
        final SerializableDocument document = couchbase.bucket().get(ticketId, SerializableDocument.class);
        if (document != null) {
            final Ticket t = (Ticket) document.content();
            logger.debug("Got ticket {} from registry.", t);
            return getProxiedTicketInstance(t);
        }
        logger.debug("Ticket {} not found in registry.", ticketId);
        return null;
    } catch (final Exception e) {
        logger.error("Failed fetching {}: {}", ticketId, e);
        return null;
    }
}
 
开发者ID:hsj-xiaokang,项目名称:springboot-shiro-cas-mybatis,代码行数:17,代码来源:CouchbaseTicketRegistry.java


示例2: getTicket

import com.couchbase.client.java.document.SerializableDocument; //导入依赖的package包/类
@Override
public Ticket getTicket(final String ticketId) {
    try {
        LOGGER.debug("Locating ticket id [{}]", ticketId);
        final String encTicketId = encodeTicketId(ticketId);
        if (encTicketId == null) {
            LOGGER.debug("Ticket id [{}] could not be found", ticketId);
            return null;
        }

        final SerializableDocument document = this.couchbase.bucket().get(encTicketId, SerializableDocument.class);
        if (document != null) {
            final Ticket t = (Ticket) document.content();
            LOGGER.debug("Got ticket [{}] from the registry.", t);
            return t;
        }
        LOGGER.debug("Ticket [{}] not found in the registry.", encTicketId);
        return null;
    } catch (final Exception e) {
        LOGGER.error("Failed fetching [{}]: [{}]", ticketId, e);
        return null;
    }
}
 
开发者ID:mrluo735,项目名称:cas-5.1.0,代码行数:24,代码来源:CouchbaseTicketRegistry.java


示例3: testGetAndPut

import com.couchbase.client.java.document.SerializableDocument; //导入依赖的package包/类
@Test
public void testGetAndPut() throws Exception {
    String old = dedicatedCache.getAndPut("testGetAndPut", "getAndPutTest");
    SerializableDocument doc = dedicatedCache.bucket.get(cbKey("testGetAndPut"), SerializableDocument.class);

    assertNotNull(doc);
    assertNotNull(doc.content());
    assertEquals("getAndPutTest", doc.content());
    assertNull(old);

    old = dedicatedCache.getAndPut("testGetAndPut", "getAndPutTest2");
    doc = dedicatedCache.bucket.get(cbKey("testGetAndPut"), SerializableDocument.class);

    assertEquals("getAndPutTest", old);
    assertNotNull(doc);
    assertEquals("getAndPutTest2", doc.content());

}
 
开发者ID:couchbaselabs,项目名称:couchbase-java-cache,代码行数:19,代码来源:BasicOperationTest.java


示例4: removeAll

import com.couchbase.client.java.document.SerializableDocument; //导入依赖的package包/类
@Override
public void removeAll() {
    checkOpen();
    long start = configuration.isStatisticsEnabled() ? System.nanoTime() : 0;

    final AtomicLong removedCount = new AtomicLong(0L);
    internalClear(new Action1<SerializableDocument>() {
        @Override
        public void call(SerializableDocument serializableDocument) {
            K key = fromInternalKey(serializableDocument.id());
            V value = (V) serializableDocument.content();
            eventManager.queueEvent(new CouchbaseCacheEntryEvent<K, V>(EventType.REMOVED, key, value,
                    CouchbaseCache.this));
        }
    });
    eventManager.dispatch();

    if (configuration.isStatisticsEnabled() && removedCount.get() > 0L) {
        statisticsMxBean.increaseCacheRemovals(removedCount.get());
        //approximate remove time as an average
        statisticsMxBean.addRemoveTimeNano((System.nanoTime() - start) / removedCount.get());
    }
}
 
开发者ID:couchbaselabs,项目名称:couchbase-java-cache,代码行数:24,代码来源:CouchbaseCache.java


示例5: createDocument

import com.couchbase.client.java.document.SerializableDocument; //导入依赖的package包/类
/**
 * Depending on the operation, produces a SerializableDocument with correct TTL and CAS.
 *
 * @param key the key for the document
 * @param value the value to store
 * @param op the operation being performed
 * @param cas the cas of the document (or 0 if none needed)
 * @return the {@link SerializableDocument} to be persisted, or null if the {@link ExpiryPolicy}
 *  indicates a TTL already expired
 * @throws IllegalArgumentException when the {@link ExpiryPolicy} produces a TTL > 30 days
 */
private SerializableDocument createDocument(K key, V value, Operation op, long cas) {
    String cbKey = toInternalKey(key);
    Serializable cbValue = toInternalValue(value);
    int ttlOrCode = getDurationCode(op);
    switch (ttlOrCode) {
        case TTL_DONT_CHANGE:
            return SerializableDocument.create(cbKey, cbValue, cas);
        case TTL_NONE:
            return SerializableDocument.create(cbKey, cbValue, cas);
        case TTL_EXPIRED:
            return null;
        default:
            if (ttlOrCode < 0) {
                throw new IllegalArgumentException("Unknown ttl code " + ttlOrCode);
            } else {
                return SerializableDocument.create(cbKey, ttlOrCode, cbValue, cas);
            }
    }
}
 
开发者ID:couchbaselabs,项目名称:couchbase-java-cache,代码行数:31,代码来源:CouchbaseCache.java


示例6: updateTicket

import com.couchbase.client.java.document.SerializableDocument; //导入依赖的package包/类
@Override
protected void updateTicket(final Ticket ticket) {
    logger.debug("Updating ticket {}", ticket);
    try {
        final SerializableDocument document =
                SerializableDocument.create(ticket.getId(), getTimeout(ticket), ticket);
        couchbase.bucket().upsert(document);
    } catch (final Exception e) {
        logger.error("Failed updating {}: {}", ticket, e);
    }
}
 
开发者ID:hsj-xiaokang,项目名称:springboot-shiro-cas-mybatis,代码行数:12,代码来源:CouchbaseTicketRegistry.java


示例7: addTicket

import com.couchbase.client.java.document.SerializableDocument; //导入依赖的package包/类
@Override
public void addTicket(final Ticket ticket) {
    logger.debug("Adding ticket {}", ticket);
    try {
        final SerializableDocument document =
                SerializableDocument.create(ticket.getId(), getTimeout(ticket), ticket);
        couchbase.bucket().upsert(document);
    } catch (final Exception e) {
        logger.error("Failed adding {}: {}", ticket, e);
    }
}
 
开发者ID:hsj-xiaokang,项目名称:springboot-shiro-cas-mybatis,代码行数:12,代码来源:CouchbaseTicketRegistry.java


示例8: updateTicket

import com.couchbase.client.java.document.SerializableDocument; //导入依赖的package包/类
@Override
public Ticket updateTicket(final Ticket ticket) {
    LOGGER.debug("Updating ticket [{}]", ticket);
    try {
        final SerializableDocument document = SerializableDocument.create(ticket.getId(), getTimeToLive(ticket), ticket);

        LOGGER.debug("Upserting document [{}] into couchbase bucket [{}]", document.id(), this.couchbase.bucket().name());
        this.couchbase.bucket().upsert(document);
    } catch (final Exception e) {
        LOGGER.error("Failed updating [{}]: [{}]", ticket, e);
    }
    return ticket;
}
 
开发者ID:mrluo735,项目名称:cas-5.1.0,代码行数:14,代码来源:CouchbaseTicketRegistry.java


示例9: addTicket

import com.couchbase.client.java.document.SerializableDocument; //导入依赖的package包/类
@Override
public void addTicket(final Ticket ticketToAdd) {
    LOGGER.debug("Adding ticket [{}]", ticketToAdd);
    try {
        final Ticket ticket = encodeTicket(ticketToAdd);
        final SerializableDocument document = SerializableDocument.create(ticket.getId(), getTimeToLive(ticketToAdd), ticket);
        LOGGER.debug("Created document for ticket [{}]. Upserting into bucket [{}]", ticketToAdd, this.couchbase.bucket().name());
        this.couchbase.bucket().upsert(document);
    } catch (final Exception e) {
        LOGGER.error("Failed adding [{}]: [{}]", ticketToAdd, e);
    }
}
 
开发者ID:mrluo735,项目名称:cas-5.1.0,代码行数:13,代码来源:CouchbaseTicketRegistry.java


示例10: assertDocument

import com.couchbase.client.java.document.SerializableDocument; //导入依赖的package包/类
private SerializableDocument assertDocument(String expected, String key) {
    SerializableDocument doc = dedicatedCache.bucket.get(cbKey(key), SerializableDocument.class);

    assertNotNull(doc);
    assertNotNull(doc.content());
    assertEquals(expected, doc.content());

    return doc;
}
 
开发者ID:couchbaselabs,项目名称:couchbase-java-cache,代码行数:10,代码来源:BasicOperationTest.java


示例11: testRemove

import com.couchbase.client.java.document.SerializableDocument; //导入依赖的package包/类
@Test
public void testRemove() throws Exception {
    boolean result = dedicatedCache.remove("remove");

    assertTrue(result);
    assertNull(dedicatedCache.bucket.get(cbKey("remove"), SerializableDocument.class));
}
 
开发者ID:couchbaselabs,项目名称:couchbase-java-cache,代码行数:8,代码来源:BasicOperationTest.java


示例12: testRemoveIfOldValueMatches

import com.couchbase.client.java.document.SerializableDocument; //导入依赖的package包/类
@Test
public void testRemoveIfOldValueMatches() throws Exception {
    boolean result = dedicatedCache.remove("oldremove", "not");

    assertFalse(result);
    assertDocument(TEST_VALUE, "oldremove");

    result = dedicatedCache.remove("oldremove", TEST_VALUE);

    assertTrue(result);
    assertNull(dedicatedCache.bucket.get(cbKey("oldremove"), SerializableDocument.class));
}
 
开发者ID:couchbaselabs,项目名称:couchbase-java-cache,代码行数:13,代码来源:BasicOperationTest.java


示例13: testRemoveAllFromSet

import com.couchbase.client.java.document.SerializableDocument; //导入依赖的package包/类
@Test
public void testRemoveAllFromSet() throws Exception {
    dedicatedCache.bucket.insert(SerializableDocument.create(cbKey("rk1"), TEST_VALUE));
    dedicatedCache.bucket.insert(SerializableDocument.create(cbKey("rk2"), TEST_VALUE));
    Set<String> toRemove = new HashSet<String>(Arrays.asList("rk1", "rk2", "rk3"));

    dedicatedCache.removeAll(toRemove);

    assertNull(dedicatedCache.bucket.get("rk1"));
    assertNull(dedicatedCache.bucket.get("rk2"));
    assertNull(dedicatedCache.bucket.get("rk3"));
}
 
开发者ID:couchbaselabs,项目名称:couchbase-java-cache,代码行数:13,代码来源:BasicOperationTest.java


示例14: put

import com.couchbase.client.java.document.SerializableDocument; //导入依赖的package包/类
@Override
public void put(K key, V value) {
    //TODO check expiry
    checkOpen();
    checkTypes(key, value);
    long start = configuration.isStatisticsEnabled() ? System.nanoTime() : 0;

    try {
        SerializableDocument oldDocument = bucket.get(toInternalKey(key), SerializableDocument.class);
        SerializableDocument doc = createDocument(key, value, Operation.CREATION);
        //Only do something if doc is not null (otherwise it means expiry was already set)
        if (doc != null) {
            bucket.upsert(doc);
            if (oldDocument != null) {
                eventManager.queueAndDispatch(EventType.UPDATED, key, value, (V) oldDocument.content(), this);
            } else {
                eventManager.queueAndDispatch(EventType.CREATED, key, value, this);
            }
            if (configuration.isStatisticsEnabled()) {
                statisticsMxBean.increaseCachePuts(1L);
                statisticsMxBean.addPutTimeNano(System.nanoTime() - start);
            }
        }
    } catch (Exception e) {
        throw new CacheException("Error during put of " + key, e);
    }

}
 
开发者ID:couchbaselabs,项目名称:couchbase-java-cache,代码行数:29,代码来源:CouchbaseCache.java


示例15: getAndPut

import com.couchbase.client.java.document.SerializableDocument; //导入依赖的package包/类
@Override
public V getAndPut(K key, V value) {
    //TODO expiry
    checkOpen();
    checkTypes(key, value);

    long start = configuration.isStatisticsEnabled() ? System.nanoTime() : 0;

    String internalKey = toInternalKey(key);
    SerializableDocument oldValue = bucket.get(internalKey, SerializableDocument.class);

    put(key, value);
    if (configuration.isStatisticsEnabled()) {
        statisticsMxBean.increaseCachePuts(1L);
        if (oldValue == null) {
            statisticsMxBean.increaseCacheMisses(1L);
        } else {
            statisticsMxBean.increaseCacheHits(1L);
        }
        long time = System.nanoTime() - start;
        statisticsMxBean.addGetTimeNano(time);
        statisticsMxBean.addPutTimeNano(time);
    }

    if (oldValue == null) {
        eventManager.queueAndDispatch(EventType.CREATED, key, value, this);
        return null;
    } else {
        V old = (V) oldValue.content();
        eventManager.queueAndDispatch(EventType.UPDATED, key, value, old, this);
        return old;
    }
}
 
开发者ID:couchbaselabs,项目名称:couchbase-java-cache,代码行数:34,代码来源:CouchbaseCache.java


示例16: internalClear

import com.couchbase.client.java.document.SerializableDocument; //导入依赖的package包/类
private void internalClear(Action1<? super SerializableDocument> action) {
    getAllKeys()
            .flatMap(new Func1<String, Observable<SerializableDocument>>() {
                @Override
                public Observable<SerializableDocument> call(String id) {
                    return bucket.async().remove(id, SerializableDocument.class);
                }
            })
            .toBlocking()
            .forEach(action);
}
 
开发者ID:couchbaselabs,项目名称:couchbase-java-cache,代码行数:12,代码来源:CouchbaseCache.java


示例17: take

import com.couchbase.client.java.document.SerializableDocument; //导入依赖的package包/类
private Notification<? extends SerializableDocument> take() {
    try {
        return notifications.take();
    } catch (InterruptedException e) {
        throw Exceptions.propagate(e);
    }
}
 
开发者ID:couchbaselabs,项目名称:couchbase-java-cache,代码行数:8,代码来源:CouchbaseCacheIterator.java


示例18: init

import com.couchbase.client.java.document.SerializableDocument; //导入依赖的package包/类
@BeforeClass
public static void init() {
    //here is where you'd get the environment
    cachingProvider = new CouchbaseCachingProvider();
    //here is where we get the cluster
    cacheManager = (CouchbaseCacheManager) cachingProvider.getCacheManager();

    ClusterManager manager = cacheManager.cluster.clusterManager(CLUSTER_LOGIN, CLUSTER_PWD);
    boolean hasBucket = manager.hasBucket(CACHE_NAME);
    if (!hasBucket) {
        manager.insertBucket(DefaultBucketSettings.builder()
                                                  .name(CACHE_NAME)
                                                  .enableFlush(true)
                                                  .quota(100)
                                                  .build());
    }

    //here we create a dedicated cache for most of the tests
    CouchbaseConfiguration<String, String> cbConfig = new CouchbaseConfiguration.Builder<String, String>(
            CACHE_NAME, KeyConverter.STRING_KEY_CONVERTER)
            .useDedicatedBucket(CACHE_NAME, "")
            .build();
    dedicatedCache = (CouchbaseCache<String, String>) cacheManager.createCache(CACHE_NAME, cbConfig);
    keyConverter = dedicatedCache.keyConverter();

    //prepare data
    if (hasBucket) {
        dedicatedCache.bucket.bucketManager().flush();
    }
    dedicatedCache.bucket.insert(SerializableDocument.create(keyConverter.asString(TEST_KEY), TEST_VALUE));
    dedicatedCache.bucket.insert(SerializableDocument.create(keyConverter.asString(TEST_KEY) + "2", TEST_VALUE + "2"));
    dedicatedCache.bucket.insert(SerializableDocument.create(keyConverter.asString("remove"), TEST_VALUE));
    dedicatedCache.bucket.insert(SerializableDocument.create(keyConverter.asString("oldremove"), TEST_VALUE));
    dedicatedCache.bucket.insert(SerializableDocument.create(keyConverter.asString("getremove"), TEST_VALUE));
    dedicatedCache.bucket.insert(SerializableDocument.create(keyConverter.asString("itremove"), TEST_VALUE));
    dedicatedCache.bucket.insert(SerializableDocument.create(keyConverter.asString("replace"), TEST_VALUE));
    dedicatedCache.bucket.insert(SerializableDocument.create(keyConverter.asString("oldreplace"), TEST_VALUE));
    dedicatedCache.bucket.insert(SerializableDocument.create(keyConverter.asString("getreplace"), TEST_VALUE));

    //TODO prepare view
}
 
开发者ID:couchbaselabs,项目名称:couchbase-java-cache,代码行数:42,代码来源:BasicOperationTest.java


示例19: internalReplace

import com.couchbase.client.java.document.SerializableDocument; //导入依赖的package包/类
private void internalReplace(K key, V value, V oldValue, String cbKey, Serializable internalValue, long cas) {
    SerializableDocument newDoc = SerializableDocument.create(cbKey, internalValue, cas);
    bucket.replace(newDoc);
    eventManager.queueAndDispatch(EventType.UPDATED, key, value, oldValue, this);
}
 
开发者ID:couchbaselabs,项目名称:couchbase-java-cache,代码行数:6,代码来源:CouchbaseCache.java


示例20: call

import com.couchbase.client.java.document.SerializableDocument; //导入依赖的package包/类
@Override
public Tuple2<Long, SerializableDocument> call(Long aLong, SerializableDocument serializableDocument) {
    return Tuple.create(aLong, serializableDocument);
}
 
开发者ID:couchbaselabs,项目名称:couchbase-java-cache,代码行数:5,代码来源:CouchbaseCacheIterator.java



注:本文中的com.couchbase.client.java.document.SerializableDocument类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java JRTextElement类代码示例发布时间:2022-05-15
下一篇:
Java ActionConditionDefinition类代码示例发布时间:2022-05-15
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap