public class ProcessMarketingTriggerSendTriggersActionCmdImpl extends ProcessMarketingTriggerActionCmdImpl implements ProcessMarketingTriggerActionCmd
SendMarketingTriggers
scheduled job to handle
the following triggers:
SCHCONFIG
table for the SendMarketingTriggers
entry.Modifier and Type | Field and Description |
---|---|
static java.lang.String |
DMTRIGSND_PROCESS_ON_COMMAND_EXIT_WAIT
This string is used when putting entries in DMTRIGSND when the wait timer is from
the Process On Command Exit path of detecting a trigger.
|
static java.lang.String |
PARAM_REPEAT_SCHEUDLE
Constant for setting the repeat schedule for processing triggers determined by the marketing services.
|
static java.lang.String |
SCHEDULE_RUN_DAILY
Constant for setting the repeat schedule to run daily for processing triggers determined by the marketing services.
|
static java.lang.String |
SCHEDULE_RUN_ONCE
Constant for setting the repeat schedule to run only once for processing triggers determined by the marketing services.
|
Constructor and Description |
---|
ProcessMarketingTriggerSendTriggersActionCmdImpl() |
Modifier and Type | Method and Description |
---|---|
boolean |
needToProcessScheduledJob(java.sql.Timestamp currentTime,
java.lang.Integer activityId,
java.lang.Integer storeId)
This method checks if the trigger processing needs to happen.
|
boolean |
needToProcessScheduledJobBasedOnRepeatSchedule(java.lang.String repeatSchedule,
java.sql.Timestamp currentTime,
java.util.Date lastScheduledJobRun)
This method checks if the trigger processing needs to happen based on
the time defined in the repeat schedule parameter.
|
void |
performExecute()
This method calls the marketing runtime with the wait timer triggers that are ready to be processed
and with the bulk email activities that are ready to be processed.
|
void |
processBulkEmailActivities(java.sql.Timestamp currentTime)
This method calls the marketing runtime with the bulk email activities that are ready to be processed.
|
void |
processExpiredActivities(java.sql.Timestamp currentTime)
This method finds any expired activities and calls the marketing runtime
to deactivate them.
|
void |
processRepeatTriggers(java.sql.Timestamp currentTime)
This method is used to handle the triggers that should be determined and sent once a day.
|
void |
processTimeBasedTriggers(java.sql.Timestamp currentTime)
This method calls the marketing runtime with the wait timer triggers that are ready to be processed.
|
getIncludeSalesTax, setIncludeSalesTax, validate
getChangeBusinessObjectMediator, getChangeControlBusinessObjectMediator
getActionExpression, getNoun, isGeneric, isReadyToCallExecute, reset, setActionExpression, setNoun, setPersistentObjects
execute, executeFromCache, getCaller, getEntryInfo, getId, getObjectSize, getSharingPolicy, postExecute, preExecute, setCaller, setObjectSize, unionDependencies, updateCache
getCommandTarget, getCommandTargetName, getTargetPolicy, hasOutputProperties, setCommandTarget, setCommandTargetName, setHasOutputProperties, setOutputProperties, setTargetPolicy
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
setIncludeSalesTax
isGeneric, setActionExpression, setNoun, setPersistentObjects, validate
public static final java.lang.String SCHEDULE_RUN_ONCE
public static final java.lang.String SCHEDULE_RUN_DAILY
public static final java.lang.String PARAM_REPEAT_SCHEUDLE
public static final java.lang.String DMTRIGSND_PROCESS_ON_COMMAND_EXIT_WAIT
public ProcessMarketingTriggerSendTriggersActionCmdImpl()
public void performExecute() throws java.lang.Exception
processRepeatTriggers
once a day at the time configured in wc-admin-component.xml
.
This allows for handling of triggers that should be determined by the marketing services once a day
at the configured time. This handles triggers such as Customers Is In Segment, as well as triggers
that can run daily such as Customer Abandons Shopping Cart.performExecute
in interface com.ibm.websphere.command.TargetableCommand
performExecute
in class ProcessMarketingTriggerActionCmdImpl
java.lang.Exception
public void processTimeBasedTriggers(java.sql.Timestamp currentTime)
DMTRIGSND
database table. Once a trigger is forwarded
to the marketing engine, the database entry is deleted.currentTime
- The current time.public void processBulkEmailActivities(java.sql.Timestamp currentTime)
currentTime
- The current time.public void processExpiredActivities(java.sql.Timestamp currentTime)
currentTime
- The current time.public void processRepeatTriggers(java.sql.Timestamp currentTime)
wc-admin-component.xml
.
For all the elements that have the repeatSchedule
name-value pair, the
forwardTriggersForProcessing
method will be called on the task command
defined in the element implementation XML. This is done for all elements associated with active
activities within the start and end dates defined in the activity.currentTime
- The current time.public boolean needToProcessScheduledJob(java.sql.Timestamp currentTime, java.lang.Integer activityId, java.lang.Integer storeId)
DMACTATTR
database table to see if this activity has already
been processed within the time defined in the repeat schedule parameter.currentTime
- The current time.activityId
- The activity identifier associated with the trigger.storeId
- The store identifier associated with the activity.public boolean needToProcessScheduledJobBasedOnRepeatSchedule(java.lang.String repeatSchedule, java.sql.Timestamp currentTime, java.util.Date lastScheduledJobRun)
repeatSchedule
- The repeat schedule set for the trigger campaign element.currentTime
- The current time.lastScheduledJobRun
- The last time the trigger was processed.