private Trigger createTrigger( final ScheduledJobDetail scheduledJobDetails, final JobDetail jobDetail) { try { final MifosPlatformTenant tenant = ThreadLocalContextUtil.getTenant(); final CronTriggerFactoryBean cronTriggerFactoryBean = new CronTriggerFactoryBean(); cronTriggerFactoryBean.setName(scheduledJobDetails.getJobName() + "Trigger" + tenant.getId()); cronTriggerFactoryBean.setJobDetail(jobDetail); final JobDataMap jobDataMap = new JobDataMap(); jobDataMap.put(SchedulerServiceConstants.TENANT_IDENTIFIER, tenant.getTenantIdentifier()); cronTriggerFactoryBean.setJobDataMap(jobDataMap); final TimeZone timeZone = TimeZone.getTimeZone(tenant.getTimezoneId()); cronTriggerFactoryBean.setTimeZone(timeZone); cronTriggerFactoryBean.setGroup(scheduledJobDetails.getGroupName()); cronTriggerFactoryBean.setCronExpression(scheduledJobDetails.getCronExpression()); cronTriggerFactoryBean.setPriority(scheduledJobDetails.getTaskPriority()); cronTriggerFactoryBean.afterPropertiesSet(); return cronTriggerFactoryBean.getObject(); } catch (ParseException e) { throw new RuntimeException(e); } }