<!--$Id: env_set_rec_init.so,v 10.13 2001/10/22 15:24:31 bostic Exp $--> <!--Copyright 1997-2001 by Sleepycat Software, Inc.--> <!--All rights reserved.--> <html> <head> <title>Berkeley DB: DbEnv.set_recovery_init</title> <meta name="description" content="Berkeley DB: An embedded database programmatic toolkit."> <meta name="keywords" content="embedded,database,programmatic,toolkit,b+tree,btree,hash,hashing,transaction,transactions,locking,logging,access method,access methods,java,C,C++"> </head> <body bgcolor=white> <a name="2"><!--meow--></a> <table width="100%"><tr valign=top> <td> <h1>DbEnv.set_recovery_init</h1> </td> <td align=right> <a href="../../db4-devel-4.0.14/api_java/c_index.html"><img src="../../db4-4.0.14/images/api.gif" alt="API"></a><a href="../reftoc.html"><img src="../../db4-4.0.14/images/ref.gif" alt="Ref"></a> </td></tr></table> <hr size=1 noshade> <tt> <h3><pre> import com.sleepycat.db.*; <p> public interface DbRecoveryInit { public abstract int db_recovery_init_fcn(DbEnv dbenv); } public class DbEnv { public void set_recovery_init(DbRecoveryInit db_recovery_init_fcn) throws DbException; ... } </pre></h3> <h1>Description</h1> <p>Applications installing application-specific recovery methods need to be called before Berkeley DB performs recovery so they may add their recovery methods to Berkeley DB's. <p>The DbEnv.set_recovery_init method supports this functionality. The <b>db_recovery_init_fcn</b> method must be declared with one argument, a reference to the enclosing Berkeley DB environment. This method will be called after the <a href="../../db4-devel-4.0.14/api_java/env_open.html">DbEnv.open</a> has been called, but before recovery is started. <p>If the <b>db_recovery_init_fcn</b> method returns a non-zero value, no recovery will be performed, and <a href="../../db4-devel-4.0.14/api_java/env_open.html">DbEnv.open</a> will return the same value to its caller. <p>The DbEnv.set_recovery_init interface may be used only to configure Berkeley DB before the <a href="../../db4-devel-4.0.14/api_java/env_open.html">DbEnv.open</a> interface is called. <p>The DbEnv.set_recovery_init method throws an exception that encapsulates a non-zero error value on failure. <h1>Errors</h1> <p>The DbEnv.set_recovery_init method may fail and throw an exception encapsulating a non-zero error for the following conditions: <p><dl compact> <p><dt>EINVAL<dd>An invalid flag value or parameter was specified. <p>Called after <a href="../../db4-devel-4.0.14/api_java/env_open.html">DbEnv.open</a> was called. </dl> <p>The DbEnv.set_recovery_init method may fail and throw an exception for errors specified for other Berkeley DB and C library or system methods. If a catastrophic error has occurred, the DbEnv.set_recovery_init method may fail and throw a <a href="../../db4-devel-4.0.14/api_java/runrec_class.html">DbRunRecoveryException</a>, in which case all subsequent Berkeley DB calls will fail in the same way. <h1>Class</h1> <a href="../../db4-devel-4.0.14/api_java/dbenv_class.html">DbEnv</a> <h1>See Also</h1> <a href="../../db4-devel-4.0.14/api_java/env_close.html">DbEnv.close</a>, <a href="../../db4-devel-4.0.14/api_java/env_version.html">DbEnv.get_version_string</a>, <a href="../../db4-devel-4.0.14/api_java/env_open.html">DbEnv.open</a>, <a href="../../db4-devel-4.0.14/api_java/env_remove.html">DbEnv.remove</a>, <a href="../../db4-devel-4.0.14/api_java/env_set_cachesize.html">DbEnv.set_cachesize</a>, <a href="../../db4-devel-4.0.14/api_java/env_set_data_dir.html">DbEnv.set_data_dir</a>, <a href="../../db4-devel-4.0.14/api_java/env_set_errcall.html">DbEnv.set_errcall</a>, <a href="../../db4-devel-4.0.14/api_java/env_set_error_stream.html">DbEnv.set_error_stream</a>, <a href="../../db4-devel-4.0.14/api_java/env_set_errpfx.html">DbEnv.set_errpfx</a>, <a href="../../db4-devel-4.0.14/api_java/env_set_feedback.html">DbEnv.set_feedback</a>, <a href="../../db4-devel-4.0.14/api_java/env_set_flags.html">DbEnv.set_flags</a>, <a href="../../db4-devel-4.0.14/api_java/env_set_rec_init.html">DbEnv.set_recovery_init</a>, <a href="../../db4-devel-4.0.14/api_java/env_set_rpc_server.html">DbEnv.set_rpc_server</a>, <a href="../../db4-devel-4.0.14/api_java/env_set_shm_key.html">DbEnv.set_shm_key</a>, <a href="../../db4-devel-4.0.14/api_java/env_set_tas_spins.html">DbEnv.set_tas_spins</a>, <a href="../../db4-devel-4.0.14/api_java/env_set_tmp_dir.html">DbEnv.set_tmp_dir</a>, <a href="../../db4-devel-4.0.14/api_java/env_set_timeout.html">DbEnv.set_timeout</a>, <a href="../../db4-devel-4.0.14/api_java/env_set_verbose.html">DbEnv.set_verbose</a>, and <a href="../../db4-devel-4.0.14/api_java/env_strerror.html">DbEnv.strerror</a>. </tt> <table width="100%"><tr><td><br></td><td align=right> <a href="../../db4-devel-4.0.14/api_java/c_index.html"><img src="../../db4-4.0.14/images/api.gif" alt="API"></a><a href="../reftoc.html"><img src="../../db4-4.0.14/images/ref.gif" alt="Ref"></a> </td></tr></table> <p><font size=1><a href="http://www.sleepycat.com">Copyright Sleepycat Software</a></font> </body> </html>