Package com.jalios.jcms.db
Class DBEventLogManager
- java.lang.Object
-
- com.jalios.jcms.db.BasicDBListener
-
- com.jalios.jcms.db.DBEventLogManager
-
- All Implemented Interfaces:
DBConstants,DBListener,JcmsConstants,PluginComponent,AlarmListener,JaliosConstants,JPropertiesListener
public class DBEventLogManager extends BasicDBListener implements JPropertiesListener, AlarmListener, JcmsConstants
This class replays the hibernate events on all the other replicas.- Since:
- jcms-6.0.0
- Author:
- Olivier Dedieu
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringDB_EVENT_LOG_ALARM_MGRstatic java.lang.StringDB_EVENT_LOG_CONSUMERstatic java.lang.StringDB_EVENT_LOG_TIMERstatic java.lang.StringEXCLUDED_CLASSESstatic java.lang.StringEXPIRATION_DELAY_PROPstatic java.lang.StringEXPLICIT_URIDSstatic java.lang.StringNOTIFICATION_DELAY_PROPstatic java.lang.StringNOTIFICATION_ENABLED_PROPstatic java.lang.StringNOTIFICATION_MAX_RESCHEDULE_PROPstatic java.lang.StringPROCESS_COMMIT_BATCH_SIZE_PROPstatic java.lang.StringPROCESS_MESSAGE_URLstatic java.lang.StringQUERY_LIMIT_PROPstatic java.lang.StringSCAN_FREQ_PROP-
Fields inherited from interface com.jalios.jcms.db.DBConstants
ALL_CATEGORIES_SET_FIELD, ATTACH_WS_SET_FIELD, AUTH_GRP_SET_FIELD, AUTH_MBR_SET_FIELD, AUTHOR_ID_FIELD, CATEGORIES_SET_FIELD, CDATE_FIELD, CHANNEL_JCMSDB_PROP, CLASSIFICATION_LEVEL_FIELD, DBDATA_URID, EXTENDED_READ_RIGHTS, HAS_ATTACH_WS_FIELD, HAS_NO_READ_RIGHTS, HIBERNATE_MAPPING_ADATE, HIBERNATE_MAPPING_AUTHOR, HIBERNATE_MAPPING_CDATE, HIBERNATE_MAPPING_EDATE, HIBERNATE_MAPPING_HAS_ATTACH_WS, HIBERNATE_MAPPING_HASNOREADRIGHTS, HIBERNATE_MAPPING_MAININSTANCE_ID, HIBERNATE_MAPPING_MAJORVERSION, HIBERNATE_MAPPING_MDATE, HIBERNATE_MAPPING_MERGE_DATE, HIBERNATE_MAPPING_MERGE_ID, HIBERNATE_MAPPING_MINORVERSION, HIBERNATE_MAPPING_OPAUTHOR, HIBERNATE_MAPPING_PDATE, HIBERNATE_MAPPING_PSTATUS, HIBERNATE_MAPPING_READ_ACK, HIBERNATE_MAPPING_READERCOUNT, HIBERNATE_MAPPING_RESTRICTIVE_UPDATE_RIGHTS, HIBERNATE_MAPPING_TITLE, HIBERNATE_MAPPING_TRACKED, HIBERNATE_MAPPING_UDATE, HIBERNATE_MAPPING_VOTECOUNT, HIBERNATE_MAPPING_VOTESCORE, HIBERNATE_MAPPING_WORKFLOW_ID, HIBERNATE_MAPPING_WORKSPACE_ID, MAX_HIBERNATE_MAPPING_PUBLICATION, MDATE_FIELD, OPAUTHOR_ID_FIELD, PSTATUS_FIELD, ROW_ID_FIELD, SCROLL_FETCH_SIZE, WORKFLOW_ID_FIELD, WORKSPACE_ID_FIELD
-
Fields inherited from interface com.jalios.util.JaliosConstants
CRLF, MILLIS_IN_ONE_DAY, MILLIS_IN_ONE_HOUR, MILLIS_IN_ONE_MINUTE, MILLIS_IN_ONE_MONTH, MILLIS_IN_ONE_SECOND, MILLIS_IN_ONE_WEEK, MILLIS_IN_ONE_YEAR
-
Fields inherited from interface com.jalios.jcms.JcmsConstants
ADATE_SEARCH, ADMIN_NOTES_PROP, ADVANCED_TAB, AJAX_MODE_ATTR, ARCHIVES_DIR, ASCII_WIDTH, CATEGORY_TAB, CDATE_SEARCH, CLASS_PROPERTY, COMMON_ALARM, CONTENT_TAB, COOKIE_MAX_AGE, COUNTRY_SPRITE, CS_TYPOLOGY_ROOT_CAT_VID, CTRL_TOPIC_INTERNAL, CTRL_TOPIC_REF, CTRL_TOPIC_VALUE, CTRL_TOPIC_WRITE, CUSTOM_PROP, DATA_DIRECTORY, DEFAULT_PHOTO_PROP, DOCCHOOSER_HEIGHT, DOCCHOOSER_WIDTH, DOCS_DIR, EDATE_SEARCH, EMAIL_REGEXP, ERROR_MSG, FORBIDDEN_FILE_ACCESS, FORBIDDEN_REDIRECT, FORCE_REDIRECT, GLYPH_ICON_PREFIX, ICON_ARCHIVE, ICON_ICON_PREFIX, ICON_LOCK, ICON_LOCK_STRONG, ICON_PREFIX_PROP, ICON_WARN, ICON_WH_BOOK_CLOSED, ICON_WH_BOOK_OPEN, INFORMATION_MSG, IS_IN_FRONT_OFFICE, JALIOS_JUNIT_PROP, JCMS_CADDY, JCMS_MSG_LIST, JCMS_TOASTR_COLLECTION, JSYNC_DOWNLOAD_DIR, JSYNC_SYNC_ALARM, LANG_SPRITE, LOG_FILE, LOG_TOPIC_SECURITY, LOGGER_PROP, LOGGER_XMLPROP, MBR_PHOTO_DIR, MDATE_SEARCH, MONITOR_XML, OP_CREATE, OP_CREATE_STR, OP_DEEP_COPY, OP_DEEP_COPY_STR, OP_DEEP_DELETE, OP_DEEP_DELETE_STR, OP_DELETE, OP_DELETE_STR, OP_MERGE, OP_MERGE_STR, OP_UPDATE, OP_UPDATE_STR, ORGANIZATION_ROOT_GROUP_PROP, PDATE_SEARCH, PHOTO_DIR, PHOTO_ICON, PHOTO_ICON_HEIGHT, PHOTO_ICON_PROP_PREFIX, PHOTO_ICON_WIDTH, PHOTO_LARGE, PHOTO_LARGE_HEIGHT, PHOTO_LARGE_PROP_PREFIX, PHOTO_LARGE_WIDTH, PHOTO_MINI, PHOTO_MINI_HEIGHT, PHOTO_MINI_PROP_PREFIX, PHOTO_MINI_WIDTH, PHOTO_NORMAL, PHOTO_NORMAL_HEIGHT, PHOTO_NORMAL_PROP_PREFIX, PHOTO_NORMAL_WIDTH, PHOTO_SMALL, PHOTO_SMALL_HEIGHT, PHOTO_SMALL_PROP_PREFIX, PHOTO_SMALL_WIDTH, PHOTO_TINY, PHOTO_TINY_HEIGHT, PHOTO_TINY_PROP_PREFIX, PHOTO_TINY_WIDTH, PREVIOUS_TAB, PRINT_VIEW, PRIVATE_FILE_ACCESS, PUBLIC_FILE_ACCESS, RAW_CONTENT_ICON_PREFIX, READ_RIGHT_TAB, SDATE_SEARCH, SEARCHENGINE_ALARM, SECURITY_LOG_FILE, SESSION_AUTHORIZED_FILENAMES_SET, SPRITE_ICON_PREFIX, STATS_REPORT_DIR, STATUS_PROP, STORE_DIR, STORE_XML, SUCCESS_MSG, SVG_ICON_PREFIX, SVGINLINE_ICON_PREFIX, TEMPLATE_TAB, THUMBNAIL_LARGE_HEIGHT, THUMBNAIL_LARGE_WIDTH, THUMBNAIL_SMALL_HEIGHT, THUMBNAIL_SMALL_WIDTH, TTCARD_MEDIA_HEIGHT, TTCARD_MEDIA_WIDTH, TYPES_ICON_ALT_PROP, TYPES_ICON_SUFFIX_PROP, TYPES_ICON_TITLE_PROP, TYPES_PREFIX_PROP, TYPES_THUMB_SUFFIX_PROP, UDATE_SEARCH, UPDATE_RIGHT_TAB, UPLOAD_DIR, UPLOAD_PERMISSION_COUNT_PROP_PREFIX, UPLOAD_PERMISSION_SIZE_PROP_PREFIX, URL_REGEXP, VID_LOGGED_MEMBER, WARNING_MSG, WEBAPP_PROP, WFEXPRESS_ALARM, WFREMINDER_ALARM, WORKFLOW_TAB, WORKFLOW_XML
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description booleandeleteDBEventLog(java.lang.String source, java.lang.String target)java.util.List<DBEventLogSummary>getDBEventLogsSummary()static DBEventLogManagergetInstance()protected java.util.List<DBEventLog>getNewDBEventLogList()Deprecated.This method should not be used any more as it's limited in size, other db event log will be not read after this limit before full scanprotected org.hibernate.ScrollableResultsgetNewDBEventLogScrollResult()Returns all the DBEventLog not yet processed by this replica.java.util.Set<java.lang.String>getReplicaUridSet()voidhandleAlarm(AlarmEntry entry)Invoked when an alarm is triggered.voidonPostDelete(DBData data, org.hibernate.event.PostDeleteEvent event, boolean firstTime)This method is called after a DBData has been deleted.voidonPostInsert(DBData data, org.hibernate.event.PostInsertEvent event, boolean firstTime)This method is called after a DBData has been created.voidonPostUpdate(DBData data, org.hibernate.event.PostUpdateEvent event, boolean firstTime)This method is called after a DBData has been updated.voidprocessNewDBEventLogs(java.lang.String sender)voidpropertiesChange(JProperties properties)Invoked after properties have been modified in JCMS and save on disk.voidresetNotificationTimerThreadLocal()-
Methods inherited from class com.jalios.jcms.db.BasicDBListener
getAdateFromState, getAuthorIdFromState, getCdateFromState, getDateFromState, getEdateFromState, getMdateFromState, getPdateFromState, getPrePstatus, getPrePstatus, getPstatusFromState, hasNoChange, hasNoChange, init, onPreUpdate
-
-
-
-
Field Detail
-
PROCESS_MESSAGE_URL
public static final java.lang.String PROCESS_MESSAGE_URL
- See Also:
- Constant Field Values
-
DB_EVENT_LOG_TIMER
public static final java.lang.String DB_EVENT_LOG_TIMER
- See Also:
- Constant Field Values
-
DB_EVENT_LOG_ALARM_MGR
public static final java.lang.String DB_EVENT_LOG_ALARM_MGR
- See Also:
- Constant Field Values
-
DB_EVENT_LOG_CONSUMER
public static final java.lang.String DB_EVENT_LOG_CONSUMER
- See Also:
- Constant Field Values
-
SCAN_FREQ_PROP
public static final java.lang.String SCAN_FREQ_PROP
- See Also:
- Constant Field Values
-
QUERY_LIMIT_PROP
public static final java.lang.String QUERY_LIMIT_PROP
- See Also:
- Constant Field Values
-
NOTIFICATION_ENABLED_PROP
public static final java.lang.String NOTIFICATION_ENABLED_PROP
- See Also:
- Constant Field Values
-
NOTIFICATION_DELAY_PROP
public static final java.lang.String NOTIFICATION_DELAY_PROP
- See Also:
- Constant Field Values
-
NOTIFICATION_MAX_RESCHEDULE_PROP
public static final java.lang.String NOTIFICATION_MAX_RESCHEDULE_PROP
- See Also:
- Constant Field Values
-
EXCLUDED_CLASSES
public static final java.lang.String EXCLUDED_CLASSES
- See Also:
- Constant Field Values
-
EXPLICIT_URIDS
public static final java.lang.String EXPLICIT_URIDS
- See Also:
- Constant Field Values
-
PROCESS_COMMIT_BATCH_SIZE_PROP
public static final java.lang.String PROCESS_COMMIT_BATCH_SIZE_PROP
- See Also:
- Constant Field Values
-
EXPIRATION_DELAY_PROP
public static final java.lang.String EXPIRATION_DELAY_PROP
- See Also:
- Constant Field Values
-
-
Method Detail
-
getInstance
public static DBEventLogManager getInstance()
-
propertiesChange
public void propertiesChange(JProperties properties)
Description copied from interface:JPropertiesListenerInvoked after properties have been modified in JCMS and save on disk.You cannot alter the value received in parameters.
Note that properties parameter may be null, a limited set of site properties, or all site properties.
To check that a property has been modified, reload the "current" property instead using
channel.getPropertiesorchannel.getProperty.- Specified by:
propertiesChangein interfaceJPropertiesListener- Parameters:
properties- the properties which have been submitted to change
-
onPostInsert
public void onPostInsert(DBData data, org.hibernate.event.PostInsertEvent event, boolean firstTime)
Description copied from interface:DBListenerThis method is called after a DBData has been created.- Specified by:
onPostInsertin interfaceDBListener- Overrides:
onPostInsertin classBasicDBListener- Parameters:
data- the data.event- the event.firstTime- true on the JSync replica on which the operation took place and false on the other replicas.- See Also:
DBListener.onPostInsert(DBData, PostInsertEvent, boolean)
-
onPostUpdate
public void onPostUpdate(DBData data, org.hibernate.event.PostUpdateEvent event, boolean firstTime)
Description copied from interface:DBListenerThis method is called after a DBData has been updated.- Specified by:
onPostUpdatein interfaceDBListener- Overrides:
onPostUpdatein classBasicDBListener- Parameters:
data- the data.event- the event.firstTime- true on the JSync replica on which the operation took place and false on the other replicas.- See Also:
DBListener.onPostUpdate(DBData, PostUpdateEvent, boolean)
-
onPostDelete
public void onPostDelete(DBData data, org.hibernate.event.PostDeleteEvent event, boolean firstTime)
Description copied from interface:DBListenerThis method is called after a DBData has been deleted.- Specified by:
onPostDeletein interfaceDBListener- Overrides:
onPostDeletein classBasicDBListener- Parameters:
data- the deleted DBData. WARNING! In a JSync Cluster, when firstTime is false, this data will be null. In this case, to get information about this deleted data, you must use the event and in particular event.getId(), which returns the JPlatform ID of the data, and event.getDeletedState() which returns the attributes of the data.event- the eventfirstTime- true on the JSync replica on which the operation took place and false on the other replicas.- See Also:
DBListener.onPostDelete(DBData, PostDeleteEvent, boolean)
-
getReplicaUridSet
public java.util.Set<java.lang.String> getReplicaUridSet()
-
handleAlarm
public void handleAlarm(AlarmEntry entry)
Description copied from interface:AlarmListenerInvoked when an alarm is triggered.- Specified by:
handleAlarmin interfaceAlarmListener- Parameters:
entry- the AlarmEntry which has been triggered.
-
processNewDBEventLogs
public void processNewDBEventLogs(java.lang.String sender)
-
getNewDBEventLogList
@Deprecated protected java.util.List<DBEventLog> getNewDBEventLogList()
Deprecated.This method should not be used any more as it's limited in size, other db event log will be not read after this limit before full scanReturns all the DBEventLog not yet processed by this replica.- Returns:
- all the DBEventLog not yet processed by this replica (never return null). (size limited by
QUERY_LIMIT_PROP) - Since:
- jcms-6.0.0
-
getDBEventLogsSummary
public java.util.List<DBEventLogSummary> getDBEventLogsSummary()
-
deleteDBEventLog
public boolean deleteDBEventLog(java.lang.String source, java.lang.String target)
-
getNewDBEventLogScrollResult
protected org.hibernate.ScrollableResults getNewDBEventLogScrollResult()
Returns all the DBEventLog not yet processed by this replica.- Returns:
- all the DBEventLog not yet processed by this replica (never return null).
- Since:
- jcms-10.0.8
-
resetNotificationTimerThreadLocal
public void resetNotificationTimerThreadLocal()
-
-