Здесь мое приложение 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>