public interface IfmxThreadedSmartTrigger
extends java.lang.AutoCloseable, java.lang.Runnable
| Modifier and Type | Method and Description |
|---|---|
void |
addTrigger(java.lang.String tableName,
java.lang.String tableOwnerName,
java.lang.String databaseName,
java.lang.String sqlQuery,
IfmxSmartTriggerCallback... callback)
Sets a watch on a particular table using a query using the default label
|
void |
addTrigger(java.lang.String tableName,
java.lang.String tableOwnerName,
java.lang.String databaseName,
java.lang.String sqlQuery,
java.lang.String label,
IfmxSmartTriggerCallback... callback)
Sets a watch on a particular table using a query using the default label
|
IfmxThreadedSmartTrigger |
buffer(int bufferSize)
Sets the buffer size for the data that will be held here in the client
This should be set to a size that will collect the number of records you can get at
a time as well as the 2 times the size of the JSON document that will be returned.
|
void |
close()
Attempts to shutdown the internal connection that is watching for events
If another thread is actively watching for events, this close is queued until
an event is triggered (an event can be an operation that the user is watching for
or a timeout event from the server).
|
IfmxThreadedSmartTrigger |
commitTime(long time)
Advanced option to restart your smart trigger from a commit time that was reported
from a prior Smart Trigger session
|
java.util.List<java.lang.String> |
getLabels()
Returns a list of labels currently registered as triggers in this object
|
IfmxThreadedSmartTrigger |
label(java.lang.String labelName)
Set a default label for all triggers created by this object
|
IfmxThreadedSmartTrigger |
maxRecordsPerRequest(int size)
Sets how many records can be returned in a single event call
This sets the maximum number of records returned if more than one record is sitting in the queue.
|
IfmxThreadedSmartTrigger |
operationsCacheSize(int size)
Sets the number of events/operations that the server will cache
The number set here will be how many events the server will cache waiting on
the client to retrieve them.
|
void |
removeTrigger(java.lang.String label)
Removes one or more triggers based on the label provided
If you have already started the smart trigger, removing triggers will be queued until a
timeout or a trigger is executed.
|
void |
removeTrigger(java.lang.String tableName,
java.lang.String tableOwnerName,
java.lang.String databaseName)
Stops a trigger on a particular table/owner/database
If you have already started the smart trigger, removing triggers will be queued until a
timeout or a trigger is executed.
|
IfmxThreadedSmartTrigger |
timeout(int timeout)
Sets the timeout for waiting for events from the server
If no event is triggered after this timeout, a timeout event is fired,
allowing the class to check if the user has made any changes to it's watch list
or requested the connection to the server to be closed.
|
IfmxThreadedSmartTrigger |
transactionID(long id)
Advanced option to restart your smart trigger from a transaction id that was reported
from a prior Smart Trigger session
|
void |
watch()
Starts watching for smart triggers
You must call this (or run() if you are executing this as a thread) to actually
start watching for smart triggers
This method will block forever, until the thread is interrupted or another thread
calls the close() method.
|
IfmxThreadedSmartTrigger label(java.lang.String labelName)
labelName - A default label nameIfmxThreadedSmartTrigger timeout(int timeout)
timeout - The timeout used for waiting for eventsIfmxThreadedSmartTrigger buffer(int bufferSize)
bufferSize - Size in bytes for the buffer for this classIfmxThreadedSmartTrigger operationsCacheSize(int size)
size - size of server side operations cacheIfmxThreadedSmartTrigger maxRecordsPerRequest(int size)
size - records in a single requestIfmxThreadedSmartTrigger commitTime(long time)
time - time value from a prior operations JSON document returned from a smart trigger objectIfmxThreadedSmartTrigger transactionID(long id)
id - transaction idvoid close()
throws java.sql.SQLException
close in interface java.lang.AutoCloseablejava.sql.SQLExceptionvoid addTrigger(java.lang.String tableName,
java.lang.String tableOwnerName,
java.lang.String databaseName,
java.lang.String sqlQuery,
IfmxSmartTriggerCallback... callback)
throws java.sql.SQLException
Sets up a watch to a given table/owner/database using a simple SQL query. See the corresponding Informix documentation on which SQL Queries are valid.
You can pass in callback objects here or register callbacks later against a label using registerCallback(...) The user who is connected to the database from this class must have read permission on the table you are attempting to watch as well as sysadmin databse access. For details see the Informix server documentation. If you have already started the smart trigger, adding additional triggers will be queued until a timeout or a trigger is executed.
tableName - name of the table to watchtableOwnerName - owner of the tabledatabaseName - database the table resides insqlQuery - the SQL query that will validate if a change should trigger a messagecallback - a list of zero or more callback objects that will be executed when a trigger is fired.java.sql.SQLExceptionvoid addTrigger(java.lang.String tableName,
java.lang.String tableOwnerName,
java.lang.String databaseName,
java.lang.String sqlQuery,
java.lang.String label,
IfmxSmartTriggerCallback... callback)
throws java.sql.SQLException
Sets up a watch to a given table/owner/database using a simple SQL query. See the corresponding Informix documentation on which SQL Queries are valid.
You can pass in callback objects here or register callbacks later against a label using registerCallback(...) The user who is connected to the database from this class must have read permission on the table you are attempting to watch as well as sysadmin databse access. For details see the Informix server documentation. If you have already started the smart trigger, adding additional triggers will be queued until a timeout or a trigger is executed.
tableName - name of the table to watchtableOwnerName - owner of the tabledatabaseName - database the table resides insqlQuery - the SQL query that will validate if a change should trigger a messagelabel - the label you want to use to identify/correlate one or more triggerscallback - a list of zero or more callback objects that will be executed when a trigger is fired.java.sql.SQLExceptionvoid removeTrigger(java.lang.String tableName,
java.lang.String tableOwnerName,
java.lang.String databaseName)
throws java.sql.SQLException
tableName - table to stop watchingtableOwnerName - owner of the tabledatabaseName - database where the table residesjava.sql.SQLExceptionvoid removeTrigger(java.lang.String label)
throws java.sql.SQLException
label - label to removejava.sql.SQLExceptionjava.util.List<java.lang.String> getLabels()
void watch()
throws java.sql.SQLException
java.sql.SQLException