Class SessionExpiredSqlLogger


  • public final class SessionExpiredSqlLogger
    extends AWorkerQueue<T>
    logs SessionExpiredSqlLogger.LogRecord into database, binding set used is bcd_log_session, this class is not intended to be customized or extended in projects. The existence of the binding-set enables this logger automatically.
    • Constructor Detail

      • SessionExpiredSqlLogger

        protected SessionExpiredSqlLogger()
    • Method Detail

      • getSqlTemplate

        protected java.lang.String getSqlTemplate()
        Returns:
        SQL template for inserts (prepared statement compatible to process batch updates) this sql template is not intended to change and is cached so this function is called only once
      • executeStatement

        protected int[] executeStatement​(java.lang.Object[][] params)
                                  throws java.sql.SQLException
        executes statement with raw parameters and returns number of updated rows
        Returns:
        The number of rows updated per statement
        Throws:
        java.sql.SQLException
      • convertData

        protected java.lang.Object[][] convertData​(java.util.Collection<SessionExpiredSqlLogger.LogRecord> records)
        processes given collection of type to dimensional object array to be consumed by batch SQL
        Parameters:
        records -
        Returns:
      • isEnabled

        public boolean isEnabled()
        as SQL logger we are depended on Bindings, which in turn use classes using us, so we dont participate in Binding bootstrap process
        Returns:
      • processObjects

        protected void processObjects​(java.util.Collection<T> records)
        Description copied from class: AWorkerQueue
        implement the method to process the objects polled from queue (FIFO)
        Specified by:
        processObjects in class AWorkerQueue<T>
        Parameters:
        records - to process
      • getDataSource

        protected javax.sql.DataSource getDataSource()
        Returns:
        a datasource as referenced by the binding-set or the default datasource
        Throws:
        java.lang.RuntimeException - in case datasource name discovery via Bindings takes place whilst Bindings has not initialized yet.