Module eclipselink

Class OracleChangeNotificationListener

  • All Implemented Interfaces:
    DatabaseEventListener

    public class OracleChangeNotificationListener
    extends Object
    implements DatabaseEventListener
    PUBLIC: Listener for Oracle Database Change event Notification (DCN). This allows the EclipseLink cache to be invalidated by database events.
    Author:
    James Sutherland
    Since:
    EclipseLink 2.4
    • Field Detail

      • ORA_TRANSACTION_ID

        public static String ORA_TRANSACTION_ID
      • ROWID

        public static String ROWID
      • register

        protected oracle.jdbc.dcn.DatabaseChangeRegistration register
        The Oracle JDBC registration object.
      • descriptorsByTable

        protected Map<org.eclipse.persistence.internal.helper.DatabaseTable,​ClassDescriptor> descriptorsByTable
        Map each table to the descriptor that needs to be invalidated.
      • transactionIdQuery

        protected ValueReadQuery transactionIdQuery
        Cache query for transaction id.
    • Constructor Detail

      • OracleChangeNotificationListener

        public OracleChangeNotificationListener()
    • Method Detail

      • initialize

        public void initialize​(ClassDescriptor descriptor,
                               org.eclipse.persistence.internal.sessions.AbstractSession session)
        Initialize the descriptor to receive database change events. This is called when the descriptor is initialized.
        Specified by:
        initialize in interface DatabaseEventListener
      • getRegister

        public oracle.jdbc.dcn.DatabaseChangeRegistration getRegister()
        INTERNAL: Return the database register.
      • setRegister

        protected void setRegister​(oracle.jdbc.dcn.DatabaseChangeRegistration register)
        INTERNAL: Set the database register.
      • getDescriptorsByTable

        public Map<org.eclipse.persistence.internal.helper.DatabaseTable,​ClassDescriptor> getDescriptorsByTable()
        INTERNAL: Return the mapping of tables to descriptors.
      • setDescriptorsByTable

        protected void setDescriptorsByTable​(Map<org.eclipse.persistence.internal.helper.DatabaseTable,​ClassDescriptor> descriptorsByTable)
        INTERNAL: Set the mapping of tables to descriptors.