Кварцевый планировщик с пружинной загрузкой выдает ошибку при выполнении нескольких заданий, работает с одним заданием - PullRequest
0 голосов
/ 10 марта 2020

Здесь мое приложение java будет получать необходимые сведения о задании из БД, и это задание начнет выполняться. Этот сценарий отлично работает с запуском одного задания. Когда я вставляю несколько заданий в БД. Он должен выполняться одновременно, но выдает следующую ошибку

. Причина: org.springframework.beans.factory.BeanCreationException: Ошибка при создании компонента с именем 'smartSchedulerApplication': не удалось внедрить автонастройки зависимостей; Вложенное исключение - org.springframework.beans.factory.NoSuchBeanDefinitionException: нет объекта bean с именем «environment», доступного в org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties (post_cess_set_setup) .2.RELEASE.jar: 5.2.2.RELEASE] в org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean (AbstractAutowireCapableBeanFactory. java: 1422) ~ [spring -ELE-5.2.2.jar-5.2.2j.jar-5.2.2.jar 5.2.2.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean (AbstractAutowireCapableBeanFactory. java: 594) ~ [spring-beans-5.2.2.RELEASE.RAR org. .support.AbstractBeanFactory.lambda $ doGetBean $ 0 (AbstractBeanFactory. java : 323) ~ [spring-beans-5.2.2.RELEASE.jar: 5.2.2.RELEASE] в org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton (DefaultSingletonBeanRegistry. java: 222) ~ [spring- beans-5.2.2.RELEASE.jar: 5.2.2.RELEASE] в org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean (AbstractBeanFactory. java: 321) ~ [spring-beans-5.2.2.RELEASE .jar: 5.2.2.RELEASE] `publi c class SmartSchedulerApplication расширяет SpringBootServletInitializer {

@Autowired
public Environment environment;

public static void main(String[] args)
{
    SpringApplication.run(SmartSchedulerApplication.class, args);
}

@Bean
public DataSource dataSource() throws IOException, ActiveProfileMissingException
{
    int itr = 0;
    AbstractRoutingDataSource dataSource = new TenantAwareRoutingSource();
    Map<Object, Object> targetDataSources = new HashMap<>();

    String[] activeProfiles = environment.getActiveProfiles();
    if (activeProfiles.length == 0)
    {
        throw new ActiveProfileMissingException("Atleat one prfile need to specify", null);
    }

    JsonNode customerObject = getCustomerObject();
    if (null != customerObject)
    {
        for (JsonNode customer : customerObject)
        {
            DataSourceProperty dataSourceProperty = getDataSourceFromJSON(customer);
            if (dataSourceProperty.getAppName().equalsIgnoreCase(activeProfiles[0]))
            {
                if (dataSourceProperty.getTenant().equalsIgnoreCase("jetest"))
                {
                    // Setting first tenant as default data source
                    ThreadLocalStorage.setDefaultTenant(dataSourceProperty.getTenant());
                    itr++;
                }
                DriverManagerDataSource driverManagerDataSource = new DriverManagerDataSource();
                driverManagerDataSource.setDriverClassName(ConstUtil.SQL_DRIVER);
                driverManagerDataSource.setUrl(dataSourceProperty.getUrl());
                driverManagerDataSource.setUsername(dataSourceProperty.getUserName());
                driverManagerDataSource.setPassword(dataSourceProperty.getPassword());
                driverManagerDataSource.setConnectionProperties(getDefaultProperties());
                targetDataSources.put(dataSourceProperty.getTenant(), driverManagerDataSource);
            }
        }

        dataSource.setTargetDataSources(targetDataSources);
        dataSource.afterPropertiesSet();
    }
    return dataSource;
}`

МОЙ POM

<?xml version="1.0" encoding="UTF-8"?>

http://maven.apache.org/xsd/maven-4.0.0.xsd "> 4.0.0

<groupId>org.suth.psg.smart.scheduler</groupId>
<artifactId>smart-scheduler-service</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>

<name>SmartScheduler Service Main</name>
<description>SmartScheduler Service Module</description>

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.2.2.RELEASE</version>
    <relativePath />
</parent>

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <java.version>1.8</java.version>
</properties>

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-rest</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-aop</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
    </dependency>
    <dependency>
        <groupId>com.microsoft.sqlserver</groupId>
        <artifactId>mssql-jdbc</artifactId>
    </dependency>
    <dependency>
        <groupId>de.codecentric</groupId>
        <artifactId>spring-boot-admin-starter-client</artifactId>
        <version>2.1.0</version>
    </dependency>
    <dependency>
        <groupId>org.suth.psg.smart.scheduler</groupId>
        <artifactId>smart-scheduler-util</artifactId>
        <version>0.0.1-SNAPSHOT</version>
    </dependency>

    <dependency>
        <groupId>org.suth.psg.smart.scheduler</groupId>
        <artifactId>smart-scheduler-bulkDownload</artifactId>
        <version>0.0.1-SNAPSHOT</version>
    </dependency>

    <dependency>
        <groupId>org.suth.psg.smart.scheduler</groupId>
        <artifactId>smart-scheduler-ocrExtraction</artifactId>
        <version>0.0.1-SNAPSHOT</version>
    </dependency>

    <dependency>
        <groupId>org.suth.psg.smart.scheduler</groupId>
        <artifactId>smart-scheduler-notificationEmails</artifactId>
        <version>0.0.1-SNAPSHOT</version>
    </dependency>


    <dependency>
        <groupId>com.fasterxml.jackson.datatype</groupId>
        <artifactId>jackson-datatype-jsr310</artifactId>
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...