| Summary: | [EclipseLink] @Cache databaseChangeNotificationType enum added in 2.4 | ||
|---|---|---|---|
| Product: | [WebTools] Dali JPA Tools | Reporter: | Karen Butzke <karenfbutzke> |
| Component: | JPA | Assignee: | Neil Hauge <neil.hauge> |
| Status: | NEW --- | QA Contact: | |
| Severity: | enhancement | ||
| Priority: | P3 | CC: | neil.hauge |
| Version: | 3.0 | ||
| Target Milestone: | Future | ||
| Hardware: | PC | ||
| OS: | Windows XP | ||
| Whiteboard: | EclipseLink | ||
| Bug Depends on: | 356812 | ||
| Bug Blocks: | |||
|
Description
Karen Butzke
This has been changed to a new attribute databaseChangeNotificationType on the @Cache annotation. The DatabaseChangeNotificationType enum has 2 settings of NONE and INVALIDATE There is also a persistence.xml property: eclipselink.cache.database-event-listener 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. Deferring for now until there is more demand for this functionality. |