Class PojoMassIndexingLoggingMonitor

  • All Implemented Interfaces:
    MassIndexingMonitor

    public class PojoMassIndexingLoggingMonitor
    extends Object
    implements MassIndexingMonitor
    A very simple implementation of MassIndexerProgressMonitor which uses the logger at INFO level to output indexing speed statistics.
    Author:
    Sanne Grinovero
    • Constructor Detail

      • PojoMassIndexingLoggingMonitor

        public PojoMassIndexingLoggingMonitor()
        Logs progress of indexing job every 50 documents written.
      • PojoMassIndexingLoggingMonitor

        public PojoMassIndexingLoggingMonitor​(int logAfterNumberOfDocuments)
        Logs progress of indexing job every logAfterNumberOfDocuments documents written.
        Parameters:
        logAfterNumberOfDocuments - log each time the specified number of documents has been added
    • Method Detail

      • documentsAdded

        public void documentsAdded​(long increment)
        Description copied from interface: MassIndexingMonitor
        Notify the monitor that increment more documents have been added to the index.

        Summing the numbers passed to this method gives the total number of documents that have been added to the index so far.

        This method is invoked several times during indexing, and calls are incremental: calling documentsAdded(3) and then documentsAdded(1) should be understood as "3+1 documents, i.e. 4 documents have been added to the index".

        This method can be invoked from several threads thus implementors are required to be thread-safe.

        Specified by:
        documentsAdded in interface MassIndexingMonitor
        Parameters:
        increment - additional number of documents built
      • documentsBuilt

        public void documentsBuilt​(long number)
        Description copied from interface: MassIndexingMonitor
        Notify the monitor that increment more documents have been built.

        Summing the numbers passed to this method gives the total number of documents that have been built so far.

        This method is invoked several times during indexing, and calls are incremental: calling documentsBuilt(3) and then documentsBuilt(1) should be understood as "3+1 documents, i.e. 4 documents have been built".

        This method can be invoked from several threads thus implementors are required to be thread-safe.

        Specified by:
        documentsBuilt in interface MassIndexingMonitor
        Parameters:
        number - additional number of documents built
      • entitiesLoaded

        public void entitiesLoaded​(long size)
        Description copied from interface: MassIndexingMonitor
        Notify the monitor that increment more entities have been loaded from the database.

        Summing the numbers passed to this method gives the total number of entities that have been loaded so far.

        This method is invoked several times during indexing, and calls are incremental: calling entitiesLoaded(3) and then entitiesLoaded(1) should be understood as "3+1 documents, i.e. 4 documents have been loaded".

        This method can be invoked from several threads thus implementors are required to be thread-safe.

        Specified by:
        entitiesLoaded in interface MassIndexingMonitor
        Parameters:
        size - additional number of entities loaded from database
      • addToTotalCount

        public void addToTotalCount​(long count)
        Description copied from interface: MassIndexingMonitor
        Notify the monitor that increment more entities have been detected in the database and will be indexed.

        Summing the numbers passed to this method gives the total number of entities that Hibernate Search plans to index. This number can be incremented during indexing as Hibernate Search moves from one entity type to the next.

        This method is invoked several times during indexing, and calls are incremental: calling addToTotalCount(3) and then addToTotalCount(1) should be understood as "3+1 documents, i.e. 4 documents will be indexed".

        This method can be invoked from several threads thus implementors are required to be thread-safe.

        Specified by:
        addToTotalCount in interface MassIndexingMonitor
        Parameters:
        count - additional number of entities that will be indexed
      • getStatusMessagePeriod

        protected int getStatusMessagePeriod()
      • printStatusMessage

        protected void printStatusMessage​(long startTime,
                                          long currentTime,
                                          long totalTodoCount,
                                          long doneCount)