package db;
import com.sleepycat.db.*;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.OutputStream;
public class RPCExample {
private static final String progname = "RPCExample";
private static final File DATABASE_HOME = new File("TESTDIR");
private static void runApplication(Environment dbenv)
throws DatabaseException, FileNotFoundException {
DatabaseConfig config = new DatabaseConfig();
config.setAllowCreate(true);
config.setType(DatabaseType.BTREE);
Database db = dbenv.openDatabase(null, "test.db", null, config);
db.close();
}
private static void setupEnvironment(File home,
OutputStream errs)
throws DatabaseException, FileNotFoundException {
EnvironmentConfig config = new EnvironmentConfig();
config.setErrorStream(errs);
config.setErrorPrefix(progname);
config.setCacheSize(64 * 1024);
config.setAllowCreate(true);
config.setInitializeCache(true);
config.setTransactional(true);
config.setInitializeLocking(true);
config.setRPCServer("localhost", 0, 0);
Environment dbenv = new Environment(home, config);
try {
runApplication(dbenv);
} finally {
dbenv.close();
}
}
private static void teardownEnvironment(File home,
OutputStream errs)
throws DatabaseException, FileNotFoundException {
EnvironmentConfig config = new EnvironmentConfig();
config.setErrorStream(errs);
config.setErrorPrefix(progname);
config.setRPCServer("localhost", 0, 0);
Environment.remove(home, true, config);
}
public static void main(String[] args) {
File home = DATABASE_HOME;
try {
System.out.println("Setup env");
setupEnvironment(home, System.err);
System.out.println("Teardown env");
teardownEnvironment(home, System.err);
} catch (DatabaseException dbe) {
System.err.println(progname + ": environment open: " + dbe.toString());
dbe.printStackTrace(System.err);
System.exit (1);
} catch (FileNotFoundException fnfe) {
System.err.println(progname + ": unexpected open environment error " + fnfe);
System.exit (1);
}
}
}