程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了添加 Splunk 日志记录步骤后,Spring 批处理作业不会终止大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决添加 Splunk 日志记录步骤后,Spring 批处理作业不会终止?

开发过程中遇到添加 Splunk 日志记录步骤后,Spring 批处理作业不会终止的问题如何解决?下面主要结合日常开发的经验,给出你关于添加 Splunk 日志记录步骤后,Spring 批处理作业不会终止的解决方法建议,希望对你解决添加 Splunk 日志记录步骤后,Spring 批处理作业不会终止有所启发或帮助;

我正在运行 Spring 批处理,但出于日志记录目的,我将所有日志重定向到 Splunk。日志在 Splunk 上按预期更新,但现在我的工作没有终止。即使在处理完所有内容后,它仍在运行。

如何在启用 Splunk 日志记录的情况下终止我的工作?

log4j2.xml :

<?xml version="1.0" enCoding="UTF-8"?>
<Configuration status="info" name="cspprovmi"
               packages="com.prov">

    <Appenders>
        <Splunkhttp name="http" url="${env:SPLUNK_URL}"
                    token="${env:SPLUNK_TOKEN}"  host="${env:SPLUNK_nameSPACE}"
                    index="cba_facts_cs" source="${env:SPLUNK_sourcE}"
                    sourcetype="facts_cs:http:log" messageformat="Json"
                    disableCertificateValIDation="true">
            <PatternLayout pattern="%msg" />
        </Splunkhttp>
        <Console name="Console" target="SYstem_OUT">
            <PatternLayout
                    pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" />
        </Console>
    </Appenders>
    <Loggers>
        <Root level="info" additivity="false">
            <AppenderRef ref="http" level="info" />
        </Root>
    </Loggers>
</Configuration>

pom.xml :

<dependency>
            <groupID>org.springframework.boot</groupID>
            <artifactID>spring-boot-starter-batch</artifactID>
            <exclusions>
                <exclusion>
                    <groupID>org.springframework.boot</groupID>
                    <artifactID>spring-boot-starter-logging</artifactID>
                </exclusion>
            </exclusions>
        </dependency>

JobBuilderConfig.java

  //  Job
    @Bean
    public Job job(){
        return jobBuilderFactory.get("jobCSProvMI4275")
                .start(step1())
                .next(step2())
                .next(step3())
                .next(step4())
                .next(step5())
                .next(steP6())
                .next(steP7())
                .incrementer(new RunIDIncrementer())
                .build();
    }
}

我正在虑的一种解决方法是在代码本身中包含 jobListener 并调用 system.exit(0)。这似乎工作正常,因为即使启用了 Splunk 日志记录,它也会终止作业,但不确定是否有更好的方法来实现这一点(即优雅地退出进程)。

   @Bean
    public JobExecutionListener jobMi4275ExecutionListener() {
        JobExecutionListener jobExecutionListener = new JobExecutionListener() {
            @OverrIDe
            public voID beforeJob(JobExecution jobExecution) {
                LOGGER.info("jobCSP4275 Started execuTing..");
            }
            @OverrIDe
            public voID afterJob(JobExecution jobExecution) {
                LOGGER.info("jobCSP4275 finished successfully..ExiTing job !!");
              
                System.exit(0);
            }
        };
        return jobExecutionListener;
    }

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

大佬总结

以上是大佬教程为你收集整理的添加 Splunk 日志记录步骤后,Spring 批处理作业不会终止全部内容,希望文章能够帮你解决添加 Splunk 日志记录步骤后,Spring 批处理作业不会终止所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。