use of com.albedo.java.modules.quartz.domain.Job in project albedo by somowhere.
the class JobResourceIntTest method createJob.
@Test
@Transactional(rollbackFor = Exception.class)
public void createJob() throws Exception {
int databaseSizeBeforeCreate = jobService.list().size();
// Create the Job
restJobMockMvc.perform(post(DEFAULT_API_URL).param(PageModel.F_DESC, Job.F_SQL_CREATED_DATE).contentType(TestUtil.APPLICATION_JSON_UTF8).content(TestUtil.convertObjectToJsonBytes(jobDto))).andExpect(status().isOk());
// Validate the Job in the database
List<Job> jobList = jobService.list(Wrappers.<Job>query().lambda().orderByAsc(Job::getCreatedDate));
assertThat(jobList).hasSize(databaseSizeBeforeCreate + 1);
Job testJob = jobList.get(jobList.size() - 1);
assertThat(testJob.getName()).isEqualTo(DEFAULT_NAME);
assertThat(testJob.getGroup()).isEqualTo(DEFAULT_GROUP);
assertThat(testJob.getInvokeTarget()).isEqualTo(DEFAULT_INVOKETARGET);
assertThat(testJob.getCronExpression()).isEqualTo(DEFAULT_CRONEXPRESSION);
assertThat(testJob.getMisfirePolicy()).isEqualTo(DEFAULT_MISFIREPOLICY);
assertThat(testJob.getConcurrent()).isEqualTo(DEFAULT_CONCURRENT);
assertThat(testJob.getStatus()).isEqualTo(DEFAULT_AVAILABLE);
assertThat(testJob.getDescription()).isEqualTo(DEFAULT_DESCRIPTION);
}
use of com.albedo.java.modules.quartz.domain.Job in project albedo by somowhere.
the class JobResourceIntTest method equalsVerifier.
@Test
@Transactional(rollbackFor = Exception.class)
public void equalsVerifier() throws Exception {
TestUtil.equalsVerifier(Job.class);
Job job1 = new Job();
job1.setId(44l);
Job job2 = new Job();
job2.setId(job1.getId());
assertThat(job1).isEqualTo(job2);
job2.setId(55l);
assertThat(job1).isNotEqualTo(job2);
job1.setId(null);
assertThat(job1).isNotEqualTo(job2);
}
use of com.albedo.java.modules.quartz.domain.Job in project albedo by somowhere.
the class ScheduleReceiver method refresh.
/**
* 项目启动时,初始化定时器 主要是防止手动修改数据库导致未同步到定时任务处理(注:不能手动修改数据库ID和任务组名,否则会导致脏数据)
*/
public void refresh() throws TaskException, SchedulerException {
scheduler.clear();
List<Tenant> tenants = tenantRepository.selectList(null);
for (Tenant tenant : tenants) {
ContextUtil.setTenant(tenant.getCode());
List<Job> jobList = jobRepository.selectList(null);
for (Job job : jobList) {
updateSchedulerJob(job, job.getGroup());
}
}
}
use of com.albedo.java.modules.quartz.domain.Job in project albedo by somowhere.
the class JobServiceImpl method saveOrUpdate.
/**
* 新增任务
*
* @param job 调度信息 调度信息
*/
@Override
@Transactional(rollbackFor = Exception.class)
public boolean saveOrUpdate(Job job) {
ArgumentAssert.isTrue(checkCronExpressionIsValid(job.getCronExpression()), "cronExpression 不合法");
try {
if (job.getId() == null) {
job.setStatus(JobStatus.PAUSE);
int rows = repository.insert(job);
if (rows > 0) {
RedisUtil.sendScheduleChannelMessage(ScheduleVo.createDataAdd(JSONUtil.toJsonStr(job)));
}
} else {
Job temp = repository.selectById(job.getId());
int rows = repository.updateById(job);
if (rows > 0) {
updateSchedulerJob(job, temp.getGroup());
}
}
return true;
} catch (Exception e) {
throw new BizException(e);
}
}
use of com.albedo.java.modules.quartz.domain.Job in project albedo by somowhere.
the class JobResourceIntTest method updateJob.
@Test
@Transactional(rollbackFor = Exception.class)
public void updateJob() throws Exception {
// Initialize the database
jobService.saveOrUpdate(jobDto);
int databaseSizeBeforeUpdate = jobService.list().size();
// Update the job
Job updatedJob = jobService.getById(jobDto.getId());
// Disconnect from session so that the updates on updatedJob are not directly
// saved in db
ClassUtil.updateObj(updatedJob, Lists.newArrayList(Job.F_NAME, Job.F_GROUP, Job.F_INVOKETARGET, Job.F_CRONEXPRESSION, Job.F_MISFIREPOLICY, Job.F_CONCURRENT, Job.F_AVAILABLE, Job.F_DESCRIPTION), UPDATED_NAME, UPDATED_GROUP, UPDATED_INVOKETARGET, UPDATED_CRONEXPRESSION, UPDATED_MISFIREPOLICY, UPDATED_CONCURRENT, UPDATED_AVAILABLE, UPDATED_DESCRIPTION);
JobDto jobVo = jobService.copyBeanToDto(updatedJob);
restJobMockMvc.perform(post(DEFAULT_API_URL).contentType(TestUtil.APPLICATION_JSON_UTF8).content(TestUtil.convertObjectToJsonBytes(jobVo))).andExpect(status().isOk());
// Validate the Job in the database
List<Job> jobList = jobService.list();
assertThat(jobList).hasSize(databaseSizeBeforeUpdate);
Job testJob = jobList.stream().filter(item -> jobDto.getId().equals(item.getId())).findAny().get();
assertThat(testJob.getName()).isEqualTo(UPDATED_NAME);
assertThat(testJob.getGroup()).isEqualTo(UPDATED_GROUP);
assertThat(testJob.getInvokeTarget()).isEqualTo(UPDATED_INVOKETARGET);
assertThat(testJob.getCronExpression()).isEqualTo(UPDATED_CRONEXPRESSION);
assertThat(testJob.getMisfirePolicy()).isEqualTo(UPDATED_MISFIREPOLICY);
assertThat(testJob.getConcurrent()).isEqualTo(UPDATED_CONCURRENT);
assertThat(testJob.getStatus()).isEqualTo(UPDATED_AVAILABLE);
assertThat(testJob.getDescription()).isEqualTo(UPDATED_DESCRIPTION);
}
Aggregations