当前位置: 首页>>代码示例>>Java>>正文


Java Sequence.getStats方法代码示例

本文整理汇总了Java中com.sleepycat.je.Sequence.getStats方法的典型用法代码示例。如果您正苦于以下问题:Java Sequence.getStats方法的具体用法?Java Sequence.getStats怎么用?Java Sequence.getStats使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在com.sleepycat.je.Sequence的用法示例。


在下文中一共展示了Sequence.getStats方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: doOne

import com.sleepycat.je.Sequence; //导入方法依赖的package包/类
private void doOne(String msg,
                   Sequence seq,
                   Transaction txn,
                   int delta,
                   long expectValue,
                   boolean expectCached)
    throws DatabaseException {

    msg += " value=" + expectValue;

    try {
        assertEquals(msg, expectValue, seq.get(txn, delta));
    } catch (DatabaseException e) {
        fail(msg + ' ' + e);
    }

    StatsConfig clearConfig = new StatsConfig();
    clearConfig.setFast(true);
    clearConfig.setClear(true);
    SequenceStats stats = seq.getStats(clearConfig);

    assertEquals(msg, 1, stats.getNGets());
    assertEquals(msg, expectCached ? 1 : 0, stats.getNCachedGets());
}
 
开发者ID:nologic,项目名称:nabs,代码行数:25,代码来源:SequenceTest.java

示例2: testMultipleHandles

import com.sleepycat.je.Sequence; //导入方法依赖的package包/类
public void testMultipleHandles()
    throws DatabaseException {

    Database db = openDb("foo");
    DatabaseEntry key = new DatabaseEntry(new byte[0]);

    /* Create a sequence. */

    SequenceConfig config = new SequenceConfig();
    config.setAllowCreate(true);
    config.setDecrement(true);
    config.setRange(1, 3);
    config.setInitialValue(3);

    Transaction txn = txnBegin();
    Sequence seq = db.openSequence(txn, key, config);
    assertEquals(3, seq.get(txn, 1));
    txnCommit(txn);

    /* Open another handle on the same sequence -- config should match. */

    txn = txnBegin();
    Sequence seq2 = db.openSequence(txn, key, config);
    assertEquals(2, seq2.get(txn, 1));
    txnCommit(txn);

    SequenceStats stats = seq2.getStats(null);
    assertEquals(1, stats.getCurrent());
    assertEquals(1, stats.getMin());
    assertEquals(3, stats.getMax());

    /* Values are assigned from a single sequence for both handles. */

    assertEquals(1, seq.get(null, 1));

    seq.close();
    seq2.close();
    db.close();
}
 
开发者ID:nologic,项目名称:nabs,代码行数:40,代码来源:SequenceTest.java

示例3: testBasic

import com.sleepycat.je.Sequence; //导入方法依赖的package包/类
public void testBasic()
    throws DatabaseException {

    Database db = openDb("foo");
    DatabaseEntry key = new DatabaseEntry(new byte[0]);
    DatabaseEntry data = new DatabaseEntry();

    SequenceConfig config = new SequenceConfig();
    config.setAllowCreate(true);

    Transaction txn = txnBegin();
    Sequence seq = db.openSequence(txn, key, config);
    txnCommit(txn);

    txn = txnBegin();

    /* Check default values before calling get(). */

    SequenceStats stats = seq.getStats(null);
    assertEquals(0, stats.getCurrent());
    assertEquals(0, stats.getCacheSize());
    assertEquals(0, stats.getNGets());
    assertEquals(Long.MIN_VALUE, stats.getMin());
    assertEquals(Long.MAX_VALUE, stats.getMax());

    /* Get the first value. */

    long val = seq.get(txn, 1);
    assertEquals(0, val);
    stats = seq.getStats(null);
    assertEquals(1, stats.getCurrent());
    assertEquals(1, stats.getValue());
    assertEquals(0, stats.getLastValue());
    assertEquals(1, stats.getNGets());

    /* Use deltas greater than one. */

    assertEquals(1, seq.get(txn, 2));
    assertEquals(3, seq.get(txn, 3));
    assertEquals(6, seq.get(txn, 1));
    assertEquals(7, seq.get(txn, 1));

    /* Remove a sequence and expect the key to be deleted. */

    seq.close();
    db.removeSequence(txn, key);
    assertEquals(OperationStatus.NOTFOUND, db.get(txn, key, data, null));
    txnCommit(txn);
    assertEquals(OperationStatus.NOTFOUND, db.get(null, key, data, null));

    db.close();
}
 
开发者ID:nologic,项目名称:nabs,代码行数:53,代码来源:SequenceTest.java


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