
package de.ivu.elect.business.system.control;

import javax.ejb.DependsOn;
import javax.ejb.Singleton;
import javax.ejb.Startup;
import javax.inject.Inject;

import de.ivu.elect.business.konfiguration.entity.ElectKonfigurationWerte;
import de.ivu.elect.business.system.boundary.HibernateStatistik;


import static de.ivu.elect.business.konfiguration.entity.ElectKonfigurationWerte.HIBERNATE_STATISTIKEN_LOG_INTERVAL_CRONTAB;

/**
 *  on 27.01.2017.
 */
@Startup
@Singleton
@DependsOn("StartupSingleton")
public class HibernateStatistikCronTimer extends AbstractElectCronTimer {

  @Inject
  private transient HibernateStatistik hibernateStatistik;

  public HibernateStatistikCronTimer() {
    super();
  }

  @Override
  protected ElectKonfigurationWerte getElectKonfigurationWerte() {
    return HIBERNATE_STATISTIKEN_LOG_INTERVAL_CRONTAB;
  }

  @Override
  public String getJobName() {
    return "HibernateStatistikCronTimer";
  }

  @Override
  protected void timeout() {
    hibernateStatistik.logStatistics(false, "_NEWLINE_"); // kein \n da sonst das LOG unübersichtlich wird
  }
}
