Package org.tmatesoft.sqljet.core.table
Class SqlJetDefaultBusyHandler
java.lang.Object
org.tmatesoft.sqljet.core.table.SqlJetDefaultBusyHandler
- All Implemented Interfaces:
ISqlJetBusyHandler
Implementation of SQLJet busy handlers. Used by default in SqlJetDb.
Performs some number of retries (by default 10 or SQLJET_BUSY_RETRIES system property value) per every time interval (by default 100 milliseconds or SQLJET_BUSY_SLEEP system property value in milliseconds).
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionCreates busy handler with default parameters.SqlJetDefaultBusyHandler
(int retries, int sleep) Creates busy handler with custom parameters. -
Method Summary
Modifier and TypeMethodDescriptionboolean
call
(int number) Callback which implements busy handler.int
Returns number of attempts to make to lock database.int
getSleep()
Returns sleep time interval in milliseconds between retries to lock database.boolean
isCancel()
Check is busy handler to cancel.void
setCancel
(boolean cancel) Allow cancel urgently busy retries.void
setRetries
(int retries) Sets number of attempts to make to lock database.void
setSleep
(int sleep) Sets sleep time interval in milliseconds between retries to lock database.
-
Field Details
-
SQLJET_BUSY_RETRIES_PROPERTY
Name of system property which defines retries count by default.- See Also:
-
SQLJET_BUSY_SLEEP_PROPERTY
Name of system property which defines time wait by default.- See Also:
-
-
Constructor Details
-
SqlJetDefaultBusyHandler
public SqlJetDefaultBusyHandler()Creates busy handler with default parameters. -
SqlJetDefaultBusyHandler
public SqlJetDefaultBusyHandler(int retries, int sleep) Creates busy handler with custom parameters.- Parameters:
retries
- number of retries to performsleep
- sleep time interval in milliseconds between retries to lock database.
-
-
Method Details
-
getRetries
public int getRetries()Returns number of attempts to make to lock database.- Returns:
- number of attempts.
-
setRetries
public void setRetries(int retries) Sets number of attempts to make to lock database.- Parameters:
retries
- number of attempts.
-
getSleep
public int getSleep()Returns sleep time interval in milliseconds between retries to lock database.- Returns:
- sleep interval time in milliseconds.
-
setSleep
public void setSleep(int sleep) Sets sleep time interval in milliseconds between retries to lock database.- Parameters:
sleep
- interval time in milliseconds.
-
setCancel
public void setCancel(boolean cancel) Allow cancel urgently busy retries. To cancel set it to true - in this case busy handler will not wait in next retry.- Parameters:
cancel
- if true then busy handler will not wait.
-
isCancel
public boolean isCancel()Check is busy handler to cancel.- Returns:
- true if lock attempts should be cancelled.
-
call
public boolean call(int number) Description copied from interface:ISqlJetBusyHandler
Callback which implements busy handler.
To method call() is passed number of retry to obtain database lock. If call() returns true then retries to locking still continue. If call() returns false then will be thrown
SqlJetException
withSqlJetErrorCode.BUSY
.- Specified by:
call
in interfaceISqlJetBusyHandler
- Parameters:
number
- number of retry to obtain lock on database.- Returns:
- true if retries will continue or false if retries will stop.
-