All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.jeesuite.springboot.starter.scheduler.DelegateScheConfiguration Maven / Gradle / Ivy

There is a newer version: 1.4.0
Show newest version
/**
 * 
 */
package com.jeesuite.springboot.starter.scheduler;

import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.Ordered;
import org.springframework.core.annotation.Order;

import com.jeesuite.scheduler.JobRegistry;
import com.jeesuite.scheduler.SchedulerFactoryBeanWrapper;
import com.jeesuite.scheduler.registry.NullJobRegistry;
import com.jeesuite.scheduler.registry.ZkJobRegistry;

/**
 * @description 
* @author vakin * @date 2017年3月28日 */ @Configuration @EnableConfigurationProperties(SchedulerProperties.class) @ConditionalOnClass(SchedulerFactoryBeanWrapper.class) @ConditionalOnProperty(name="jeesuite.task.groupName") public class DelegateScheConfiguration { @Autowired private SchedulerProperties cacheProperties; @Bean public JobRegistry jobRegistry(){ if(StringUtils.isNotBlank(cacheProperties.getRegistryServers())){ ZkJobRegistry registry = new ZkJobRegistry(); registry.setZkServers(cacheProperties.getRegistryServers()); return registry; }else{ return new NullJobRegistry(); } } @Bean @Order(Ordered.LOWEST_PRECEDENCE) public SchedulerFactoryBeanWrapper schedulerFactoryBean(JobRegistry jobRegistry) { SchedulerFactoryBeanWrapper bean = new SchedulerFactoryBeanWrapper(); bean.setGroupName(cacheProperties.getGroupName()); bean.setThreadPoolSize(cacheProperties.getThreadPoolSize()); bean.setRegistry(jobRegistry); bean.setScanPackages(cacheProperties.getScanPackages()); return bean; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy