public class FBEventManager extends java.lang.Object implements EventManager
EventManager
implementation to listen for database events.Constructor and Description |
---|
FBEventManager() |
FBEventManager(GDSType gdsType) |
Modifier and Type | Method and Description |
---|---|
void |
addEventListener(java.lang.String eventName,
EventListener listener)
Register an EventListener that will be called when an event occurs.
|
void |
close()
If connected, disconnects, otherwise does nothing.
|
void |
connect()
Make a connection with a database to listen for events.
|
static EventManager |
createFor(java.sql.Connection connection)
Creates an
EventManager for a connection. |
void |
disconnect()
Close the connection to the database.
|
java.lang.String |
getDatabase() |
java.lang.String |
getDbCryptConfig()
Get the database encryption plugin configuration.
|
java.lang.String |
getHost() |
java.lang.String |
getPassword() |
int |
getPort() |
java.lang.String |
getUser() |
long |
getWaitTimeout()
Get the poll timeout in milliseconds of the async thread to check whether it was stopped or not.
|
WireCrypt |
getWireCrypt()
Get the wire encryption level.
|
boolean |
isConnected() |
void |
removeEventListener(java.lang.String eventName,
EventListener listener)
Remove an EventListener for a given event.
|
void |
setDatabase(java.lang.String database)
Sets the database path for the connection to the database.
|
void |
setDbCryptConfig(java.lang.String dbCryptConfig)
Sets the database encryption plugin configuration.
|
void |
setHost(java.lang.String host)
Sets the host for the connection to the database.
|
void |
setPassword(java.lang.String password)
Sets the password for the connection to the database.
|
void |
setPort(int port)
Sets the port for the connection to the database.
|
void |
setUser(java.lang.String user)
Sets the username for the connection to the database .
|
void |
setWaitTimeout(long waitTimeout)
Set the poll timeout in milliseconds of the async thread to check whether it was stopped or not.
|
void |
setWireCrypt(WireCrypt wireCrypt)
Set the wire encryption level.
|
int |
waitForEvent(java.lang.String eventName)
Wait for the one-time occurrence of an event.
|
int |
waitForEvent(java.lang.String eventName,
int timeout)
Wait for the one-time occurrence of an event.
|
public FBEventManager()
public FBEventManager(GDSType gdsType)
public static EventManager createFor(java.sql.Connection connection) throws java.sql.SQLException
EventManager
for a connection.
The created event manager does not allow setting the properties and will instead
throw UnsupportedOperationException
for the setters.
The returned instance is not necessarily an implementation of FBEventManager
.
connection
- A connection that unwraps to FirebirdConnection
java.sql.SQLException
- When connection
does not unwrap to FirebirdConnection
public void connect() throws java.sql.SQLException
EventManager
connect
in interface EventManager
java.sql.SQLException
- If a database communication error occurspublic void close() throws java.sql.SQLException
EventManager
Contrary to EventManager.disconnect()
, this method does not throw IllegalStateException
when not connected.
close
in interface java.lang.AutoCloseable
close
in interface EventManager
java.sql.SQLException
- For errors during disconnectpublic void disconnect() throws java.sql.SQLException
EventManager
disconnect
in interface EventManager
java.sql.SQLException
- If a database communication error occursEventManager.close()
public boolean isConnected()
isConnected
in interface EventManager
true
when connected and able to listen for eventsEventManager.connect()
,
EventManager.disconnect()
public void setUser(java.lang.String user)
EventManager
setUser
in interface EventManager
user
- for the connection to the database.public java.lang.String getUser()
getUser
in interface EventManager
public void setPassword(java.lang.String password)
EventManager
setPassword
in interface EventManager
password
- for the connection to the database.public java.lang.String getPassword()
getPassword
in interface EventManager
public void setDatabase(java.lang.String database)
EventManager
setDatabase
in interface EventManager
database
- path for the connection to the database.public java.lang.String getDatabase()
getDatabase
in interface EventManager
public java.lang.String getHost()
getHost
in interface EventManager
public void setHost(java.lang.String host)
EventManager
setHost
in interface EventManager
host
- for the connection to the database.public int getPort()
getPort
in interface EventManager
public void setPort(int port)
EventManager
setPort
in interface EventManager
port
- for the connection to the database.public WireCrypt getWireCrypt()
EventManager
getWireCrypt
in interface EventManager
public void setWireCrypt(WireCrypt wireCrypt)
EventManager
setWireCrypt
in interface EventManager
wireCrypt
- Wire encryption level (null
not allowed)public java.lang.String getDbCryptConfig()
EventManager
getDbCryptConfig
in interface EventManager
public void setDbCryptConfig(java.lang.String dbCryptConfig)
EventManager
setDbCryptConfig
in interface EventManager
dbCryptConfig
- Database encryption plugin configuration, meaning plugin specificpublic long getWaitTimeout()
EventManager
Default value is 1000 (1 second).
getWaitTimeout
in interface EventManager
public void setWaitTimeout(long waitTimeout)
EventManager
Default value is 1000 (1 second).
setWaitTimeout
in interface EventManager
waitTimeout
- wait timeout in millisecondspublic void addEventListener(java.lang.String eventName, EventListener listener) throws java.sql.SQLException
EventManager
addEventListener
in interface EventManager
eventName
- The name of the event for which the listener will be notifiedlistener
- The EventListener that will be called when the given event occursjava.sql.SQLException
- If a database access error occurspublic void removeEventListener(java.lang.String eventName, EventListener listener) throws java.sql.SQLException
EventManager
removeEventListener
in interface EventManager
eventName
- The name of the event for which the listener will be unregistered.listener
- The EventListener that is to be unregisteredjava.sql.SQLException
- If a database access error occurspublic int waitForEvent(java.lang.String eventName) throws java.lang.InterruptedException, java.sql.SQLException
EventManager
This method blocks indefinitely until the event identified by the value of eventName
occurs. The return
value is the number of occurrences of the requested event.
waitForEvent
in interface EventManager
eventName
- The name of the event to wait forjava.lang.InterruptedException
- If interrupted while waitingjava.sql.SQLException
- If a database access error occurspublic int waitForEvent(java.lang.String eventName, int timeout) throws java.lang.InterruptedException, java.sql.SQLException
EventManager
This method blocks for a maximum of timeout
milliseconds, waiting for the event identified by
eventName
to occur. A timeout value of 0
means wait indefinitely.
The return value is the number of occurences of the event in question, or -1
if the call timed out.
waitForEvent
in interface EventManager
eventName
- The name of the event to wait fortimeout
- The maximum number of milliseconds to wait1
if the call timed outjava.lang.InterruptedException
- If interrupted while waitingjava.sql.SQLException
- If a database access error occursCopyright © 2001-2021 Jaybird (Firebird JDBC/JCA) team. All rights reserved.