为了账号安全,请及时绑定邮箱和手机立即绑定

FlatFileItemWriter无法创建新文件或更新现有文件

FlatFileItemWriter无法创建新文件或更新现有文件

阿波罗的战车 2021-04-05 17:14:43
[SpringBatch的新功能]我试图使用Spring Boot创建一个作业,该作业从MongoDB中读取名称,转换为小写字母,然后输出为CSV文件。我的阅读器和处理器正在工作,但作家没有。我的代码如下。处理器文件package bbye;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.batch.item.ItemProcessor;import org.springframework.stereotype.Component;import hello.Person;@Componentpublic class PersonDocProcessor implements ItemProcessor<Person, Person> {    private static final Logger log = LoggerFactory.getLogger(PersonDocProcessor.class);    @Override    public Person process(final Person person) throws Exception {        final String firstName = person.getFirstName().toLowerCase();        final String lastName = person.getLastName().toLowerCase();        final Person transformedPerson = new Person(firstName, lastName);        log.info("Converting (" + person + ") into (" + transformedPerson + ")");        return transformedPerson;    }}听众package bbye;import org.springframework.batch.core.JobExecution;import org.springframework.batch.core.JobExecutionListener;import org.springframework.stereotype.Component;@Componentpublic class FileUploadNotificationListener implements JobExecutionListener {    @Override    public void beforeJob(JobExecution jobExecution) {        System.out.println("===== listening for job - mongoReader - fileWriter ====");    }    @Override    public void afterJob(JobExecution jobExecution) {        System.out.println("==== file write job completed =====");    }}
查看完整描述

2 回答

?
holdtom

TA贡献1805条经验 获得超10个赞

我认为我们应该使用FileSystemResource而不是ClassPathResource。您能否尝试让我们知道。


查看完整回答
反对 回复 2021-04-18
?
冉冉说

TA贡献1877条经验 获得超1个赞

事实证明,编写者的工作正常,但是我看的是错误的文件。使用ClassPathResource时,将在target / classes目录下创建并更新文件。但是,我正在查看src / main / resources目录下的PersonExtracted.csv ,该目录从未更新。

如果我指定FileSystemResource,那么将在指定位置创建并更新文件。


查看完整回答
反对 回复 2021-04-18
  • 2 回答
  • 0 关注
  • 252 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信