atg.svc.repository.service
Class HotSolutionsUpdateService

java.lang.Object
  extended by atg.nucleus.logging.VariableArgumentApplicationLoggingImpl
      extended by atg.nucleus.GenericService
          extended by atg.service.scheduler.SchedulableService
              extended by atg.service.scheduler.SingletonSchedulableService
                  extended by atg.svc.repository.service.HotSolutionsUpdateService
All Implemented Interfaces:
atg.naming.NameContextBindingListener, atg.naming.NameContextElement, atg.naming.NameResolver, atg.nucleus.AdminableService, atg.nucleus.logging.ApplicationLogging, atg.nucleus.logging.ApplicationLoggingSender, atg.nucleus.logging.TraceApplicationLogging, atg.nucleus.logging.VariableArgumentApplicationLogging, atg.nucleus.naming.ComponentNameResolver, atg.nucleus.Service, atg.nucleus.ServiceListener, atg.service.scheduler.Schedulable, java.util.EventListener

public class HotSolutionsUpdateService
extends atg.service.scheduler.SingletonSchedulableService

Recomputes the hot solution count and hot solution score. The hot use count is the use count in the last N days. This is a sliding window so the hot use count needs to be recomputed for all the solutions once a day to adjust the sliding window. The hot score is based on the view count and hot use count however, as a solution is viewed or reused, the hot score is increased so the only reason for recomputing all the solution hot scores once a day is to decrease the hot use count and hot score as a solution use event slides out of the last N days.


Field Summary
static java.lang.String CLASS_VERSION
          Class version string
static java.lang.String PERFMON_UPDATE_HOT_SOLUTION_SCORES
           
 
Fields inherited from class atg.service.scheduler.SchedulableService
mJobId
 
Fields inherited from class atg.nucleus.GenericService
SERVICE_INFO_KEY
 
Fields inherited from interface atg.nucleus.logging.TraceApplicationLogging
DEFAULT_LOG_TRACE_STATUS
 
Fields inherited from interface atg.nucleus.logging.ApplicationLogging
DEFAULT_LOG_DEBUG_STATUS, DEFAULT_LOG_ERROR_STATUS, DEFAULT_LOG_INFO_STATUS, DEFAULT_LOG_WARNING_STATUS
 
Constructor Summary
HotSolutionsUpdateService()
           
 
Method Summary
 void doScheduledTask(atg.service.scheduler.Scheduler pScheduler, atg.service.scheduler.ScheduledJob pJob)
          Recomputes the hot solution count and hot solution score.
 SolutionScoringService getSolutionScoringService()
           
 javax.transaction.TransactionManager getTransactionManager()
           
 boolean isEnabled()
          Is this service enabled?
 void setEnabled(boolean pEnabled)
          Enables or disables this service.
 void setSolutionScoringService(SolutionScoringService pSolutionScoringService)
           
 void setTransactionManager(javax.transaction.TransactionManager pTransactionManager)
           
 void updateHotSolutionScores()
           
 
Methods inherited from class atg.service.scheduler.SingletonSchedulableService
acquireLock, getClientLockManager, getLockName, getLockTimeOut, performScheduledTask, releaseLock, setClientLockManager, setLockName, setLockTimeOut
 
Methods inherited from class atg.service.scheduler.SchedulableService
doStartService, doStopService, getJobDescription, getJobId, getJobName, getSchedule, getScheduler, getThreadMethod, isTransactional, setJobDescription, setJobName, setSchedule, setScheduler, setThreadMethod, setTransactional, startScheduledJob, stopScheduledJob
 
Methods inherited from class atg.nucleus.GenericService
addLogListener, createAdminServlet, getAbsoluteName, getAdminServlet, getLoggingForVlogging, getLogListenerCount, getLogListeners, getName, getNameContext, getNucleus, getRoot, getServiceConfiguration, getServiceInfo, isLoggingDebug, isLoggingError, isLoggingInfo, isLoggingTrace, isLoggingWarning, isRunning, logDebug, logDebug, logDebug, logError, logError, logError, logInfo, logInfo, logInfo, logTrace, logTrace, logTrace, logWarning, logWarning, logWarning, nameContextElementBound, nameContextElementUnbound, removeLogListener, resolveName, resolveName, resolveName, resolveName, sendLogEvent, setLoggingDebug, setLoggingError, setLoggingInfo, setLoggingTrace, setLoggingWarning, setNucleus, setServiceInfo, startService, stopService
 
Methods inherited from class atg.nucleus.logging.VariableArgumentApplicationLoggingImpl
vlogDebug, vlogDebug, vlogDebug, vlogDebug, vlogError, vlogError, vlogError, vlogError, vlogInfo, vlogInfo, vlogInfo, vlogInfo, vlogTrace, vlogTrace, vlogTrace, vlogTrace, vlogWarning, vlogWarning, vlogWarning, vlogWarning
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CLASS_VERSION

public static java.lang.String CLASS_VERSION
Class version string


PERFMON_UPDATE_HOT_SOLUTION_SCORES

public static final java.lang.String PERFMON_UPDATE_HOT_SOLUTION_SCORES
See Also:
Constant Field Values
Constructor Detail

HotSolutionsUpdateService

public HotSolutionsUpdateService()
Method Detail

isEnabled

public boolean isEnabled()
Is this service enabled?


setEnabled

public void setEnabled(boolean pEnabled)
Enables or disables this service.


getSolutionScoringService

public SolutionScoringService getSolutionScoringService()

setSolutionScoringService

public void setSolutionScoringService(SolutionScoringService pSolutionScoringService)

getTransactionManager

public javax.transaction.TransactionManager getTransactionManager()

setTransactionManager

public void setTransactionManager(javax.transaction.TransactionManager pTransactionManager)

doScheduledTask

public void doScheduledTask(atg.service.scheduler.Scheduler pScheduler,
                            atg.service.scheduler.ScheduledJob pJob)
Recomputes the hot solution count and hot solution score. Called by the scheduler when it is time for this service to perform its function.

Specified by:
doScheduledTask in class atg.service.scheduler.SingletonSchedulableService
Parameters:
pScheduler - the scheduler managing this job
pJob - the scheduled job associated with this service

updateHotSolutionScores

public void updateHotSolutionScores()