[SPRING] 봄 부팅 spring.batch.job.enabled = false 인식 할 수 없습니다.
SPRING봄 부팅 spring.batch.job.enabled = false 인식 할 수 없습니다.
jar 파일을 실행할 때 application.properties에서 spring.batch.job.enabled = false를 시도하고 -Dspring.batch.job.enabled = false를 시도했습니다.
그러나 @EnableBatchProcessing은 응용 프로그램 시작시 자동으로 일괄 작업 실행을 시작합니다. 어떻게 그런 시나리오를 디버깅 할 수 있습니까?
TestConfiguration.class
@Configuration
@EnableBatchProcessing
public class TestConfiguration {...}
나는 신청한다.
@ComponentScan("com.demo")
@EnableAutoConfiguration
public class MainApplication {
public static void main(String[] args) throws BeansException, JobExecutionAlreadyRunningException, JobInstanceAlreadyCompleteException, JobParametersInvalidException, InterruptedException, JobRestartException {
ConfigurableApplicationContext ctx = SpringApplication.run(TestConfiguration.class, args);
...}
pom.xml 나는 부모로서가 아니라 스프링 부트로서 의존성을 사용하고있다.
<dependencyManagement>
<dependencies>
<!-- Import dependecy for spring boot from here-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.2.4.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
해결법
-
==============================
1.내가 무슨 일이 벌어지고 있는지 알 수 있었고, 커스텀 리더 / 프로세서 / 작가를 사용하고있다. springboot 응용 프로그램이 시작될 때 실제로 일부 응용 프로그램 논리를 작성한이 사용자 정의 콩 빈의 종속성 주입을 시도합니다.
내가 무슨 일이 벌어지고 있는지 알 수 있었고, 커스텀 리더 / 프로세서 / 작가를 사용하고있다. springboot 응용 프로그램이 시작될 때 실제로 일부 응용 프로그램 논리를 작성한이 사용자 정의 콩 빈의 종속성 주입을 시도합니다.
예
** TestConfiguration.class **
@Configuration @EnableBatchProcessing public class TestConfiguration { @Bean @Conditional(Employee.class) public ItemWriter<Employee> writer_employee(DataSource dataSource) throws IOException { FlatFileItemWriter<Employee> writer = new FlatFileItemWriter<Employee>(); writer.setResource(new FileSystemResource(FinanceReportUtil.createFile("Employee.csv"))); writer.setHeaderCallback(new FlatFileHeaderCallback() { @Override public void writeHeader(Writer writer) throws IOException { writer.write("id, name"); } }); DelimitedLineAggregator<Employee> delLineAgg = new DelimitedLineAggregator<Employee>(); delLineAgg.setDelimiter(","); BeanWrapperFieldExtractor<Employee> fieldExtractor = new BeanWrapperFieldExtractor<Employee>(); fieldExtractor.setNames(new String[]{"id", "name"}); delLineAgg.setFieldExtractor(fieldExtractor); writer.setLineAggregator(delLineAgg); return writer; } @Bean @Conditional(Manager.class) public ItemWriter<Person> writer_manager(DataSource dataSource) throws IOException { // Does the same logic as employee } // Also has job and step etc. }
spring.batch.job.enabled = false로 파일을 생성 할 것입니다.이를 극복하기 위해 아래에 콩을 주입 할 사용자 정의 로직을 만들었습니다.
application.properties
# all, manager, employee person=manager
ManagerCondition.class
public class ManagerCondition implements Condition { @Override public boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata) { String person= context.getEnvironment().getProperty("person"); return person.equals("manager"); }
-
==============================
2.나 또한 같은 문제에 직면했다. 속성 'spring.batch.job.enabled = false'는 시작할 때 속성 파일에서 이것을 인식 할 때 인식하지 못했다. 일괄 처리가 시작되기 전에 속성이 컨텍스트에로드되지 않았기 때문일 수 있습니다.
나 또한 같은 문제에 직면했다. 속성 'spring.batch.job.enabled = false'는 시작할 때 속성 파일에서 이것을 인식 할 때 인식하지 못했다. 일괄 처리가 시작되기 전에 속성이 컨텍스트에로드되지 않았기 때문일 수 있습니다.
그래서 standalone.xml에서 아래와 같은 시스템 속성으로 'spring.batch.job.enabled = false'속성을 설정했습니다.
<system-properties> <property name="spring.batch.job.enabled" value="false"/> </system-properties>
이것으로 SUCCESSFULLY는 작업을 시작했고 스프링 배치 작업은 서버 시작시 초기화되지 않았습니다.
시스템 속성은 standalone.xml의 extensions 태그 바로 뒤에 있어야합니다.
from https://stackoverflow.com/questions/31276011/spring-boot-spring-batch-job-enabled-false-not-able-to-recognize by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] Websphere에서 Aspectj 사용하기 (0) | 2019.04.24 |
---|---|
[SPRING] java.lang.ClassNotFoundException : org.springframework.core.ResolvableTypeProvider [복제] (0) | 2019.04.24 |
[SPRING] Jersey 및 Spring for REST 서비스의 @Autowired 속성에 대한 NullPointerException (0) | 2019.04.24 |
[SPRING] @ 값이 주입되지 않습니다. (0) | 2019.04.24 |
[SPRING] Spring 프레임 워크에서 새로운 키워드의 역할 (0) | 2019.04.24 |