public class DatabasePreemptedException extends OperationFailureException
This exception occurs when accessing a database or store and one of the
following methods was recently executed on the master node and then replayed
on a replica node:
truncateDatabase
,
removeDatabase
and
renameDatabase
.
When using the DPL
, this occurs only in two
circumstances:
truncateClass
method has
been called on the Master node.When this exception occurs, the application must close any open cursors and abort any open transactions that are using the database or store, and then close the database or store handle. If the application wishes, it may then reopen the database (if it still exists) or store.
Some applications may wish to coordinate the Master and Replica sites to prevent a Replica from accessing a database that is being truncated, removed or renamed, and thereby prevent this exception. Such coordination is not directly supported by JE. The DatabasePreemptedException is provided to allow an application to handle database truncation, removal and renaming without such coordination between nodes.
The Transaction
handle is not
invalidated as a result of this exception.
Modifier and Type | Method and Description |
---|---|
Database |
getDatabase()
Returns the database handle that was forcibly closed.
|
java.lang.String |
getDatabaseName()
Returns the name of the database that was forcibly closed.
|
getMessage
public Database getDatabase()
public java.lang.String getDatabaseName()
Copyright (c) 2002, 2017 Oracle and/or its affiliates. All rights reserved.