⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 callbacktest.java

📁 berkeley db 4.6.21的源码。berkeley db是一个简单的数据库管理系统
💻 JAVA
字号:
/*- * See the file LICENSE for redistribution information. * * Copyright (c) 2002,2007 Oracle.  All rights reserved. * *//* * Alexg 23-4-06 * Based on scr016 TestCallback test application. * * Simple tests for DbErrorHandler, DbFeedbackHandler, DbPanicHandler */package com.sleepycat.db.test;import org.junit.Before;import org.junit.After;import org.junit.AfterClass;import org.junit.BeforeClass;import org.junit.Test;import static org.junit.Assert.assertEquals;import static org.junit.Assert.fail;import java.io.File;import java.io.FileNotFoundException;import com.sleepycat.db.*;import com.sleepycat.db.DatabaseException;import com.sleepycat.db.test.TestUtils;public class CallbackTest    implements FeedbackHandler, PanicHandler, ErrorHandler {    public static final String CALLBACKTEST_DBNAME  =  "callbacktest.db";    int callback_count = 0;    boolean callback_throws = false;    @BeforeClass public static void ClassInit() {	    TestUtils.loadConfig(null);        TestUtils.check_file_removed(TestUtils.getDBFileName(CALLBACKTEST_DBNAME), true, true);    }    @AfterClass public static void ClassShutdown() {        TestUtils.check_file_removed(TestUtils.getDBFileName(CALLBACKTEST_DBNAME), true, true);    }    @Before public void PerTestInit()        throws Exception {	    TestUtils.removeall(true, true, TestUtils.BASETEST_DBDIR, TestUtils.getDBFileName(CALLBACKTEST_DBNAME));    }    @After public void PerTestShutdown()        throws Exception {	    TestUtils.removeall(true, true, TestUtils.BASETEST_DBDIR, TestUtils.getDBFileName(CALLBACKTEST_DBNAME));    }    /*     * Test creating a new database.     */    @Test public void test1()        throws DatabaseException, FileNotFoundException    {        TestUtils.debug_level = 2;        EnvironmentConfig envc = new EnvironmentConfig();        envc.setAllowCreate(true);        envc.setInitializeCache(true);        envc.setTransactional(true);        envc.setInitializeLocking(true);        envc.setCacheSize(64 * 1024);        envc.setFeedbackHandler(this);        envc.setPanicHandler(this);        envc.setErrorHandler(this);    	Environment dbEnv = new Environment(TestUtils.BASETEST_DBFILE, envc);        // set up a transaction DB.        DatabaseConfig dbConfig = new DatabaseConfig();        dbConfig.setType(DatabaseType.BTREE);        dbConfig.setAllowCreate(true);        Database db = dbEnv.openDatabase(null, CALLBACKTEST_DBNAME, null, dbConfig);        DatabaseEntry key1 = new DatabaseEntry("key".getBytes());        DatabaseEntry data1 = new DatabaseEntry("data".getBytes());        // populate was doing some more than this (validating that not retrieving things that were not added)        db.putNoOverwrite(null, key1, data1);//        TestUtil.populate(db);        CheckpointConfig cpcfg = new CheckpointConfig();        cpcfg.setForce(true);        dbEnv.checkpoint(cpcfg);        try {            dbConfig.setBtreeComparator(null);        }        catch (IllegalArgumentException dbe)        {            TestUtils.DEBUGOUT(1, "got expected exception: " + dbe);            // ignore        }        /*        // Pretend we crashed, and reopen the environment        db = null;        dbenv = null;        dbenv = new DbEnv(0);        dbenv.setFeedbackHandler(this);        dbenv.open(".", Db.DB_INIT_LOCK | Db.DB_INIT_MPOOL | Db.DB_INIT_LOG                   | Db.DB_INIT_TXN | Db.DB_RECOVER, 0);        */        dbEnv.panic(true);        try {            DatabaseEntry key = new DatabaseEntry("foo".getBytes());            DatabaseEntry data = new DatabaseEntry();            db.get(null, key, data, null);        }        catch (DatabaseException dbe2)        {            TestUtils.DEBUGOUT(2, "got expected exception: " + dbe2);            // ignore        }    }    /*     * FeedbackHandler interface implementation.     */    public void recoveryFeedback(Environment dbenv, int percent)    {        TestUtils.DEBUGOUT(2, "recoveryFeedback callback invoked. percent: " + percent);    }    public void upgradeFeedback(Database db, int percent)    {        TestUtils.DEBUGOUT(2, "upgradeFeedback callback invoked. percent: " + percent);    }    public void verifyFeedback(Database db, int percent)    {        TestUtils.DEBUGOUT(2, "verifyFeedback callback invoked. percent: " + percent);    }     /*     * Panic handler interface implementation.     */    public void panic(Environment dbenv, DatabaseException e)    {        TestUtils.DEBUGOUT(2, "panic callback invoked. exception: " + e);    }     /*      * Error handler interface implementation.      */    public void error(Environment dbenv, String errpfx, String msg)    {        TestUtils.DEBUGOUT(2, "error callback invoked, errpfx: \"" + errpfx + "\", msg: \"" + msg + "\"");    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -