Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 356856 - [EclipseLink] @Cache databaseChangeNotificationType enum added in 2.4
Summary: [EclipseLink] @Cache databaseChangeNotificationType enum added in 2.4
Status: NEW
Alias: None
Product: Dali JPA Tools
Classification: WebTools
Component: JPA (show other bugs)
Version: 3.0   Edit
Hardware: PC Windows XP
: P3 enhancement (vote)
Target Milestone: Future   Edit
Assignee: Neil Hauge CLA
QA Contact:
URL:
Whiteboard: EclipseLink
Keywords:
Depends on: 356812
Blocks:
  Show dependency tree
 
Reported: 2011-09-06 16:17 EDT by Karen Butzke CLA
Modified: 2013-10-08 11:38 EDT (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Karen Butzke CLA 2011-09-06 16:17:40 EDT
EclipseLink 2.4 is adding @Cache invalidationType being added with a new type of DATABASE. We will need validation that expiry and expiryTimeOfDay are correctly set based on the invalidation type of TIMETOLIVE and DAILY respectively. Support both annotations and xml.

http://wiki.eclipse.org/EclipseLink/DesignDocs/356812
Comment 1 Karen Butzke CLA 2011-09-15 11:06:04 EDT
This has been changed to a new attribute databaseChangeNotificationType on the @Cache annotation. The DatabaseChangeNotificationType enum has 2 settings of NONE and INVALIDATE
Comment 2 Karen Butzke CLA 2011-09-15 11:06:35 EDT
There is also a persistence.xml property: eclipselink.cache.database-event-listener
Comment 3 Nan Li CLA 2013-01-15 10:40:25 EST
This is a list of things I got from the investigation of this feature:

1. We already have the orm resource model support for this (XmlCache). We'll have to add the Java resource model support to handle the new annotation element (EclipseLinkCacheAnnotation).

2. We would want a setting for this under Cache -> Advanced for an Entity and a MappedSuperclass with two possible values - NONE and INVALIDATE. The default value would be NONE if eclipselink.cache.database-event-listener is set; otherwise, INVALIDATE.

3. We would also want a setting in the persistence.xml editor on the Caching tab to select the listener. Right now we only ship OracleChangeNotificationListener as a possible value for eclipselink.cache.database-event-listener which supports QCN/DCN. Enabling this feature is done by setting a listener class as the value of eclipselink.cache.database-event-listener. Therefore, the implementation could be adding a class selection box for the value of eclipselink.cache.database-event-listener with a list of EclipseLink provided classes (only one right now) for easy selection but also allow developers to select an arbitrary class and then validate it implements the DatabaseEventListener API.
Comment 4 Neil Hauge CLA 2013-01-15 10:47:39 EST
Deferring for now until there is more demand for this functionality.