Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "EclipseLink/DesignDocs/219683"

(Concepts)
(Functionality)
Line 36: Line 36:
 
= Functionality =
 
= Functionality =
  
 +
== Session Interceptors ==
 +
The session will have 2 sets of interceptors.  A global set will be inherited by any acquired children.  Users will also be able to set local interceptors which will not be inherited by child sessions.
  
 
= Design Constraints =
 
= Design Constraints =

Revision as of 16:43, 14 March 2008

Design Specification: Interceptors

ER 219683

Document History

Date Author Version Description & Notes
2008-02-21 Gordon Yorke Working Draft

Project overview

This feature will introduce Interceptor interfaces that can be implemented by users to intercept certain internal EclipseLink component interactions. This will include cache access, query execution, Call execution and others.

Goals:

  • Provide extension points that intercept internal EcliseLink operations instead of the current options of responding to operations through events.
  • Choose interception points that provide the best leverage.

Concepts

Interceptors

Within TopLink logical operations like cache access or database writes flow naturally through different components. If points of intercept were added at the logical points of delegation within the TopLink architecture these operations could be intercepted and augmented or redirected. Developing these interception points and Interceptor interfaces increases the extensibility of TopLink beyond the scope of our current extensibility. Our current extension points exist within the datasource access paradigm of TopLink limiting users to extensions within the confines of TopLink behaviours. Interceptors provide the opportunity to extend the behaviour of TopLink beyond datasource access into data management. Offering the potential for TopLink to access data, like in the case of Coherence, that is not datasource based.

Requirements

The following sections will expand the goals of this project into more concrete requirements.


Functionality

Session Interceptors

The session will have 2 sets of interceptors. A global set will be inherited by any acquired children. Users will also be able to set local interceptors which will not be inherited by child sessions.

Design Constraints

Maintainability

GUI

Config files

Documentation

Open Issues

This section lists the open issues that are still pending that must be decided prior to fully implementing this project's requirements.

Issue # Owner Description / Notes

Decisions

This section lists decisions made. These are intended to document the resolution of open issues or constraints added to the project that are important.

Issue # Description / Notes Decision

Future Considerations

During the research for this project the following items were identified as out of scope but are captured here as potential future enhancements. If agreed upon during the review process these should be logged in the bug system.

Back to the top