181 lines
6.9 KiB
HTML
181 lines
6.9 KiB
HTML
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||
<head>
|
||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||
<title>Chapter 2. Database Environments</title>
|
||
<link rel="stylesheet" href="gettingStarted.css" type="text/css" />
|
||
<meta name="generator" content="DocBook XSL Stylesheets V1.62.4" />
|
||
<link rel="home" href="index.html" title="Getting Started with Berkeley DB" />
|
||
<link rel="up" href="index.html" title="Getting Started with Berkeley DB" />
|
||
<link rel="previous" href="gettingit.html" title="Getting and Using DB " />
|
||
<link rel="next" href="EnvClose.html" title="Closing Database Environments" />
|
||
</head>
|
||
<body>
|
||
<div class="navheader">
|
||
<table width="100%" summary="Navigation header">
|
||
<tr>
|
||
<th colspan="3" align="center">Chapter 2. Database Environments</th>
|
||
</tr>
|
||
<tr>
|
||
<td width="20%" align="left"><a accesskey="p" href="gettingit.html">Prev</a> </td>
|
||
<th width="60%" align="center"> </th>
|
||
<td width="20%" align="right"> <a accesskey="n" href="EnvClose.html">Next</a></td>
|
||
</tr>
|
||
</table>
|
||
<hr />
|
||
</div>
|
||
<div class="chapter" lang="en" xml:lang="en">
|
||
<div class="titlepage">
|
||
<div>
|
||
<div>
|
||
<h2 class="title"><a id="Env"></a>Chapter 2. Database Environments</h2>
|
||
</div>
|
||
</div>
|
||
<div></div>
|
||
</div>
|
||
<div class="toc">
|
||
<p>
|
||
<b>Table of Contents</b>
|
||
</p>
|
||
<dl>
|
||
<dt>
|
||
<span class="sect1">
|
||
<a href="Env.html#EnvOpen">Opening Database Environments</a>
|
||
</span>
|
||
</dt>
|
||
<dt>
|
||
<span class="sect1">
|
||
<a href="EnvClose.html">Closing Database Environments</a>
|
||
</span>
|
||
</dt>
|
||
<dt>
|
||
<span class="sect1">
|
||
<a href="EnvProps.html">Environment Properties</a>
|
||
</span>
|
||
</dt>
|
||
<dd>
|
||
<dl>
|
||
<dt>
|
||
<span class="sect2">
|
||
<a href="EnvProps.html#envconfig">The EnvironmentConfig Class</a>
|
||
</span>
|
||
</dt>
|
||
<dt>
|
||
<span class="sect2">
|
||
<a href="EnvProps.html#envhandleconfig">EnvironmentMutableConfig</a>
|
||
</span>
|
||
</dt>
|
||
</dl>
|
||
</dd>
|
||
</dl>
|
||
</div>
|
||
<p>
|
||
Environments are optional, but very commonly used, for Berkeley DB
|
||
applications built using the base API. If you are using the DPL, then
|
||
environments are required.
|
||
</p>
|
||
<p>
|
||
Database environments encapsulate one or more databases. This encapsulation
|
||
provides your threads with efficient access to your databases by allowing a single
|
||
in-memory cache to be used for each of the databases contained in the
|
||
environment. This encapsulation also allows you to group operations performed against
|
||
multiple databases inside a single
|
||
transactions (see the <i class="citetitle">Berkeley DB Java Edition Getting Started with Transaction Processing</i> guide for more information).
|
||
</p>
|
||
<p>
|
||
Most commonly you use database environments to create and open
|
||
databases (you close individual databases using the individual
|
||
database handles). You can also use environments to delete and rename
|
||
databases. For transactional applications, you use the environment to start
|
||
transactions. For non-transactional
|
||
applications, you use the environment to sync your in-memory cache to disk.
|
||
</p>
|
||
<div class="sect1" lang="en" xml:lang="en">
|
||
<div class="titlepage">
|
||
<div>
|
||
<div>
|
||
<h2 class="title" style="clear: both"><a id="EnvOpen"></a>Opening Database Environments</h2>
|
||
</div>
|
||
</div>
|
||
<div></div>
|
||
</div>
|
||
<p>You open a database environment by instantiating an
|
||
<tt class="classname">Environment</tt> object. You must provide to the
|
||
constructor the name of the on-disk directory where the environment is to reside.
|
||
This directory location must exist or the open will fail.</p>
|
||
<p>By default, the environment is not created for you if it does not exist. Set the
|
||
<a href="EnvProps.html" title="Environment Properties">creation property</a> to <tt class="literal">true</tt> if
|
||
you want the environment to be created. For example:</p>
|
||
<a id="je_env1"></a>
|
||
<pre class="programlisting">
|
||
|
||
import com.sleepycat.je.DatabaseException;
|
||
import com.sleepycat.je.Environment;
|
||
import com.sleepycat.je.EnvironmentConfig;
|
||
|
||
import java.io.File;
|
||
|
||
...
|
||
|
||
// Open the environment. Allow it to be created if it does not already exist.
|
||
Environment myDbEnvironment = null;
|
||
|
||
try {
|
||
EnvironmentConfig envConfig = new EnvironmentConfig();
|
||
envConfig.setAllowCreate(true);
|
||
myDbEnvironment = new Environment(new File("/export/dbEnv"), envConfig);
|
||
} catch (DatabaseException dbe) {
|
||
// Exception handling goes here
|
||
} </pre>
|
||
<pre class="programlisting">package db.gettingStarted;
|
||
|
||
import com.sleepycat.db.DatabaseException;
|
||
import com.sleepycat.db.Environment;
|
||
import com.sleepycat.db.EnvironmentConfig;
|
||
|
||
import java.io.File;
|
||
import java.io.FileNotFoundException;
|
||
|
||
...
|
||
|
||
// Open the environment. Allow it to be created if it does not already exist.
|
||
Environment myDbEnvironment = null;
|
||
|
||
try {
|
||
EnvironmentConfig envConfig = new EnvironmentConfig();
|
||
envConfig.setAllowCreate(true);
|
||
myDbEnvironment = new Environment(new File("/export/dbEnv"), envConfig);
|
||
} catch (DatabaseException dbe) {
|
||
// Exception handling goes here
|
||
} catch (FileNotFoundException fnfe) {
|
||
// Exception handling goes here
|
||
} </pre>
|
||
<p>Your application can open and use as many environments as you have
|
||
disk and memory to manage, although most applications will use just one
|
||
environment. Also, you can instantiate multiple <tt class="classname">Environment</tt>
|
||
objects for the same physical environment.</p>
|
||
</div>
|
||
</div>
|
||
<div class="navfooter">
|
||
<hr />
|
||
<table width="100%" summary="Navigation footer">
|
||
<tr>
|
||
<td width="40%" align="left"><a accesskey="p" href="gettingit.html">Prev</a> </td>
|
||
<td width="20%" align="center">
|
||
<a accesskey="u" href="index.html">Up</a>
|
||
</td>
|
||
<td width="40%" align="right"> <a accesskey="n" href="EnvClose.html">Next</a></td>
|
||
</tr>
|
||
<tr>
|
||
<td width="40%" align="left" valign="top">Getting and Using DB </td>
|
||
<td width="20%" align="center">
|
||
<a accesskey="h" href="index.html">Home</a>
|
||
</td>
|
||
<td width="40%" align="right" valign="top"> Closing Database Environments</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
</body>
|
||
</html>
|