Files
sousa-gecko/db/java/src/com/sleepycat/examples/AppinitExample.java
T

81 lines
2.2 KiB
Java

/*-
* See the file LICENSE for redistribution information.
*
* Copyright (c) 1997, 1998
* Sleepycat Software. All rights reserved.
*
* @(#)AppinitExample.java 10.3 (Sleepycat) 4/10/98
*/
package com.sleepycat.examples;
import com.sleepycat.db.*;
/*
* An example of a program using DbEnv to configure its DB
* environment.
*
* For comparison purposes, this example uses a similar structure
* as examples/ex_appinit.c and examples_cxx/AppinitExample.cpp.
*/
class AppinitExample
{
private static final String progname = "AppinitExample";
private static final String DATABASE_HOME = "/home/database";
private static DbEnv init()
throws DbException
{
DbEnv dbenv = new DbEnv();
String config[] = new String[1];
// Output errors to the application's log.
//
dbenv.set_error_stream(System.err);
dbenv.set_errpfx(progname);
//
// All of the shared database files live in /home/database,
// but data files live in /database.
//
// In C/C++ we need to allocate two elements in the array
// and set config[1] to NULL. This is not necessary in Java.
//
config[0] = "DB_DATA_DIR /database/files";
//
// We want to specify the shared memory buffer pool cachesize,
// but everything else is the default.
//
dbenv.set_mp_size(64 * 1024);
//
// We have multiple processes reading/writing these files, so
// we need concurrency control and a shared buffer pool, but
// not logging or transactions.
//
// appinit() will throw on error.
//
dbenv.appinit(DATABASE_HOME, config,
Db.DB_CREATE | Db.DB_INIT_LOCK | Db.DB_INIT_MPOOL);
return dbenv;
}
static public void main(String[] args)
{
System.out.println("beginning appinit");
try {
DbEnv dbenv = init();
// ... your application here ...
dbenv.appexit();
}
catch (DbException dbe) {
System.err.println(progname + ": db_appinit: " + dbe.toString());
System.exit (1);
}
System.out.println("completed appinit");
}
}