|
Berkeley DB Java Edition version 5.0.34 |
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectjava.lang.Throwable
java.lang.Exception
java.lang.RuntimeException
com.sleepycat.je.DatabaseException
com.sleepycat.je.RunRecoveryException
com.sleepycat.je.EnvironmentFailureException
public class EnvironmentFailureException
Indicates that a failure has occurred that could impact the Environment as a whole. For failures that impact only the current
operation and/or transaction, see OperationFailureException). For
an overview of all exceptions thrown by JE, see DatabaseException.
Depending on the nature of the failure, this exception may indicate that
Environment.close() must be called. The application should catch
EnvironmentFailureException and then call Environment.isValid(). If false is returned, all Environment
handles (instances) must be closed and re-opened in order to run recovery
and continue operating. If true is returned, the Environment can continue operating without being closed and re-opened.
Also note that Environment.isValid() may be called at any time, not
just during exception handling.
The use of the Environment.isValid() method allows JE to determine
dynamically whether the failure requires recovery or not, and allows for
this determination to change in future releases. Over time, internal
improvements to error handling may allow more error conditions to be handled
without invalidating the Environment.
(Although this exception class extends RunRecoveryException, it
does not always indicate that recovery is necessary, as described above.
RunRecoveryException has been deprecated and EnvironmentFailureException should be used instead.)
If an EnvironmentFailureException consistently occurs soon after
opening the Environment, this may indicate a persistent problem. It may
indicate a system problem or a persistent storage problem. In this case,
human intervention is normally required and restoring from a backup may be
necessary.
Note that subclasses of EnvironmentFailureException indicate how
to handle the exception in more specific ways.
Thread.interrupt is called for a thread performing JE
operations, a ThreadInterruptedException is thrown. Since
interrupting a thread is intentional, it does not indicate a persistent
problem and human intervention is not normally required.
IOException occurs while writing to the JE log, a
LogWriteException is thrown. Although an IOException can
occur for different reasons, it is a hint that the disk may be full and
applications may wish to attempt recovery after making more disk space
available.
EnvironmentFailureException in the com.sleepycat.je.rep package for
more information. Such exceptions may require special handling.
If Environment.close() is not called after an EnvironmentFailureException invalidates the Environment, all
subsequent method calls for the Environment will throw the same
exception. This provides more than one opportunity to catch and handle the
specific exception subclass that caused the failure.
| Method Summary | |
|---|---|
String |
getMessage()
|
| Methods inherited from class java.lang.Throwable |
|---|
fillInStackTrace, getCause, getLocalizedMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Method Detail |
|---|
public String getMessage()
getMessage in class DatabaseException
|
Berkeley DB Java Edition version 5.0.34 |
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||