private UnitOfWorkFactory unitOfWorkFactory = new DefaultUnitOfWorkFactory();
@Override
public ScheduleToken schedule(DateTime triggerDateTime, Object event) {
Assert.state(initialized, "Scheduler is not yet initialized");
EventMessage eventMessage = GenericEventMessage.asEventMessage(event);
String jobIdentifier = JOB_NAME_PREFIX + eventMessage.getIdentifier();
QuartzScheduleToken tr = new QuartzScheduleToken(jobIdentifier, groupIdentifier);
try {
JobDetail jobDetail = buildJobDetail(eventMessage, new JobKey(jobIdentifier, groupIdentifier));
scheduler.scheduleJob(jobDetail, buildTrigger(triggerDateTime, jobDetail.getKey()));
} catch (SchedulerException e) {