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


Java Transaction.commitWriteNoSync方法代码示例

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


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

示例1: run

import com.sleepycat.je.Transaction; //导入方法依赖的package包/类
private void run()
    throws DatabaseException {

    Random rand = new Random();

    /* 
     * Create a set of events. Each insertion is a separate, auto-commit
     * transaction.
     */
    System.out.println("-> Inserting 4 events");
    eventByTime.put(new Event(makeDate(1), 100, "Company_A"));
    eventByTime.put(new Event(makeDate(2), 2, "Company_B"));
    eventByTime.put(new Event(makeDate(3), 20, "Company_C"));
    eventByTime.put(new Event(makeDate(4), 40, "CompanyD"));

    /* Load a whole set of events transactionally. */
    Transaction txn = env.beginTransaction(null, null);
    int maxPrice = 50;
    System.out.println("-> Inserting some randomly generated events");
    for (int i = 0; i < 25; i++) {
        Event e = new Event(makeDate(rand.nextInt(365)),
                            rand.nextInt(maxPrice),
                            "Company_X");
        if ((i%2) ==0) {
            e.addRep("Bob");
            e.addRep("Nikunj");
        } else {
            e.addRep("Yongmin");
        }
        eventByTime.put(e);
    }
    txn.commitWriteNoSync();

    /* 
     * Windows of events - display the events between June 1 and Aug 31
     */
    System.out.println("\n-> Display the events between June 1 and Aug 31");
    Date startDate = makeDate(Calendar.JUNE, 1);
    Date endDate = makeDate(Calendar.AUGUST, 31);

    EntityCursor<Event> eventWindow =
        eventByTime.entities(startDate, true, endDate, true);
    printEvents(eventWindow);
    
    /*
     * Display all events, ordered by a secondary index on price.
     */
    System.out.println("\n-> Display all events, ordered by price");
    EntityCursor<Event> byPriceEvents = eventByPrice.entities();
    printEvents(byPriceEvents);
}
 
开发者ID:nologic,项目名称:nabs,代码行数:52,代码来源:EventExampleDPL.java

示例2: syncExplicit

import com.sleepycat.je.Transaction; //导入方法依赖的package包/类
/**
 * Does an explicit commit and returns whether an fsync occured.
 */
private void syncExplicit(RandomAccessFile lastLogFile,
                          TransactionConfig config,
                          boolean expectSync,
                          boolean expectWrite)
    throws DatabaseException, IOException {

    DatabaseEntry key = new DatabaseEntry(new byte[1]);
    DatabaseEntry data = new DatabaseEntry(new byte[1]);

    long beforeSyncs = getNSyncs();
    Transaction txn = env.beginTransaction(null, config);
    db.put(txn, key, data);
    long beforeLength = lastLogFile.length();
    txn.commit();
    long afterSyncs = getNSyncs();
    long afterLength = lastLogFile.length();
    boolean syncOccurred = afterSyncs > beforeSyncs;
    boolean writeOccurred = afterLength > beforeLength;
    assertEquals(expectSync, syncOccurred);
    assertEquals(expectWrite, writeOccurred);

    /*
     * Make sure explicit sync/noSync/writeNoSync always works.
     */

    /* Expect a sync and write. */
    beforeSyncs = getNSyncs();
    beforeLength = lastLogFile.length();
    txn = env.beginTransaction(null, config);
    db.put(txn, key, data);
    txn.commitSync();
    afterSyncs = getNSyncs();
    afterLength = lastLogFile.length();
    assert(afterSyncs > beforeSyncs);
    assert(afterLength > beforeLength);

    /* Expect neither a sync nor write. */
    beforeSyncs = getNSyncs();
    beforeLength = lastLogFile.length();
    txn = env.beginTransaction(null, config);
    db.put(txn, key, data);
    txn.commitNoSync();
    afterSyncs = getNSyncs();
    afterLength = lastLogFile.length();
    assert(afterSyncs == beforeSyncs);
    assert(afterLength == beforeLength);

    /* Expect no sync but do expect a write. */
    beforeSyncs = getNSyncs();
    beforeLength = lastLogFile.length();
    txn = env.beginTransaction(null, config);
    db.put(txn, key, data);
    txn.commitWriteNoSync();
    afterSyncs = getNSyncs();
    afterLength = lastLogFile.length();
    assert(afterSyncs == beforeSyncs);
    assert(afterLength > beforeLength);
}
 
开发者ID:nologic,项目名称:nabs,代码行数:62,代码来源:TxnTest.java

示例3: syncExplicit

import com.sleepycat.je.Transaction; //导入方法依赖的package包/类
/**
 * Does an explicit commit and returns whether an fsync occured.
 */
private void syncExplicit(RandomAccessFile lastLogFile,
                          TransactionConfig config,
                          boolean expectSync,
                          boolean expectWrite)
    throws DatabaseException, IOException {

    DatabaseEntry key = new DatabaseEntry(new byte[1]);
    DatabaseEntry data = new DatabaseEntry(new byte[1]);

    long beforeSyncs = getNSyncs();
    Transaction txn = env.beginTransaction(null, config);
    db.put(txn, key, data);
    long beforeLength = lastLogFile.length();
    txn.commit();
    long afterSyncs = getNSyncs();
    long afterLength = lastLogFile.length();
    boolean syncOccurred = afterSyncs > beforeSyncs;
    boolean writeOccurred = afterLength > beforeLength;
    assertEquals(expectSync, syncOccurred);
    assertEquals(expectWrite, writeOccurred);

    /* 
     * Make sure explicit sync/noSync/writeNoSync always works.
     */

    /* Expect a sync and write. */
    beforeSyncs = getNSyncs();
    beforeLength = lastLogFile.length();
    txn = env.beginTransaction(null, config);
    db.put(txn, key, data);
    txn.commitSync();
    afterSyncs = getNSyncs();
    afterLength = lastLogFile.length();
    assert(afterSyncs > beforeSyncs);
    assert(afterLength > beforeLength);

    /* Expect neither a sync nor write. */
    beforeSyncs = getNSyncs();
    beforeLength = lastLogFile.length();
    txn = env.beginTransaction(null, config);
    db.put(txn, key, data);
    txn.commitNoSync();
    afterSyncs = getNSyncs();
    afterLength = lastLogFile.length();
    assert(afterSyncs == beforeSyncs);
    assert(afterLength == beforeLength);

    /* Expect no sync but do expect a write. */
    beforeSyncs = getNSyncs();
    beforeLength = lastLogFile.length();
    txn = env.beginTransaction(null, config);
    db.put(txn, key, data);
    txn.commitWriteNoSync();
    afterSyncs = getNSyncs();
    afterLength = lastLogFile.length();
    assert(afterSyncs == beforeSyncs);
    assert(afterLength > beforeLength);
}
 
开发者ID:nologic,项目名称:nabs,代码行数:62,代码来源:TxnTest.java

示例4: run

import com.sleepycat.je.Transaction; //导入方法依赖的package包/类
private void run()
    throws DatabaseException {

    Random rand = new Random();

    /*
     * Create a set of events. Each insertion is a separate, auto-commit
     * transaction.
     */
    System.out.println("-> Inserting 4 events");
    eventByTime.put(new Event(makeDate(1), 100, "Company_A"));
    eventByTime.put(new Event(makeDate(2), 2, "Company_B"));
    eventByTime.put(new Event(makeDate(3), 20, "Company_C"));
    eventByTime.put(new Event(makeDate(4), 40, "CompanyD"));

    /* Load a whole set of events transactionally. */
    Transaction txn = env.beginTransaction(null, null);
    int maxPrice = 50;
    System.out.println("-> Inserting some randomly generated events");
    for (int i = 0; i < 25; i++) {
        Event e = new Event(makeDate(rand.nextInt(365)),
                            rand.nextInt(maxPrice),
                            "Company_X");
        if ((i%2) ==0) {
            e.addRep("Bob");
            e.addRep("Nikunj");
        } else {
            e.addRep("Yongmin");
        }
        eventByTime.put(e);
    }
    txn.commitWriteNoSync();

    /*
     * Windows of events - display the events between June 1 and Aug 31
     */
    System.out.println("\n-> Display the events between June 1 and Aug 31");
    Date startDate = makeDate(Calendar.JUNE, 1);
    Date endDate = makeDate(Calendar.AUGUST, 31);

    EntityCursor<Event> eventWindow =
        eventByTime.entities(startDate, true, endDate, true);
    printEvents(eventWindow);

    /*
     * Display all events, ordered by a secondary index on price.
     */
    System.out.println("\n-> Display all events, ordered by price");
    EntityCursor<Event> byPriceEvents = eventByPrice.entities();
    printEvents(byPriceEvents);
}
 
开发者ID:prat0318,项目名称:dbms,代码行数:52,代码来源:EventExampleDPL.java


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