Broadleaf Commerce Enterprise Module
Workflow
- AdminScheduledDeploymentController.saveScheduledDeployment(....) is called where a
WorkflowScheduledDeployment
is made. (a.k.a.deployment
) - then the
ScheduledDeploymentManager.scheduleDeploymentJob(WorkflowScheduledDeployment scheduledDeployment)
is called to create aScheduledJob
and tie it to thedeployment
. - the
ScheduledJob
(a.k.a.job
) is created bybuildScheduledJob(WorkflowScheduledDeployment schedule)
. In this method thedeployment
is given aactiveDate
andnextDeployTime
-
job
is then saved to thedatabaseSystemEventDao
and thejobId
for thedeployment
is set. - When
job
is scheduled to run; theScheduledJobManagerImpl
will run itsmanageJobs(....)
method where it creates aIntervalJob
to trigger. - In that
IntervalJob
, it runs its "excecute(...)" method that searches for allSystemEventFactory
RecurringDeploymentEventFactory
is found since it is anSystemEventFactory
and creates aSystemEvent
ofEventType.RECURRING_DEPLOYMENT
- Lastly the
IntervalJob
then invokes thesystemEventSender
with theSystemEvent
produced by theSystemEventFactory
-
DatabaseSystemEventNodeImpl
"hears" thesystemEventSender
and runs itsbuildEventScheduler()
method that seeks to creates aConsumeJob
- In
ConsumeJob
, it goes through allSystemEventConsumer
to attempt to find one that can handle theSystemEvent
that got passed to it:
RecurringDeploymentEventFactory
created aSystemEvent
that wasEventType.RECURRING_DEPLOYMENT
so theSystemEventConsumer
will beRecurringDeploymentSystemEventConsumer
- Inside the
RecurringDeploymentSystemEventConsumer
, it will retrieve the "jobId" from theEventDetails
set on theSystemEvent
and invoke theWorkflowScheduledDeploymentService
to find the correctWorkflowScheduledDeployment
by jobId. Then thedeploy(....)
method will get called. - the
deploy(...)
method gets all the deployment details from the the passed inWorkflowScheduledDeployment
and invokesScheduledDeploymentManager
to schedule the next "job" for theWorkflowScheduledDeployment
by this block.deploymentManger.scheduleNextJob(workflowDeployment);
- The manager sets the "lastDeployDate" then uses its
scheduleDeploymentJob(WorkflowScheduledDeployment scheduledDeployment
method to create and save a newScheduledJob
Compatibility
Enterprise Version | Broadleaf Version |
---|---|
3.2.0-GA | 5.2.0-GA |
4.0.0-GA | 6.0.0-GA |
4.2.0-GA | 6.1.0-GA |
4.3.0-GA | 6.2.0-GA |
Module Dependencies
Module Installation
For detailed instructions on how to integrate the Enterprise module into your project, see the Module Installation document.