DelimitedLineTokenizer类型中的setDelimiter(String)方法不适用于参数(char)



我正在尝试迁移Spring批处理核心v 2.1.8。发布到4.0.3(使用maven项目而不是Spring Boot),我看到我的代码正在破裂,我真的需要使事情与这个最新版本一致

错误:

类型DelimitedLineTokenizer中的setDelimiter(String)方法不适用于参数(char)

类型不匹配:不能从String转换为char

代码:

import org.springframework.batch.item.file.LineCallbackHandler;
import org.springframework.batch.item.file.transform.FieldSet;
public class HeaderCallbackTokenizer extends InterningDelimitedLineTokenizer implements LineCallbackHandler {
private char delimiter = DELIMITER_COMMA;

@Override
public void setDelimiter(char delimiter) {
super.setDelimiter(delimiter);

this.delimiter = delimiter;
}

@Override
public void handleLine(String line) {
if (line.startsWith("X" + delimiter)) {
List<String> names = doTokenize(line);

names.set(0,  "TYPE");

setNames(names.toArray(new String[0]));
}
}

@Override
public FieldSet tokenize(String line) {
return super.tokenize(line);
}
}

这在https://github.com/spring-projects/spring-batch/pull/61中发生了变化。您需要更新代码以传递String而不是char。这是您迁移工作的一部分。

顺便说一句,我会而不是在任何迁移路径中跳过一个主要版本(在您的情况下是v3),以便在迁移的每个步骤中尽量减少版本之间的差距。

相关内容

  • 没有找到相关文章

最新更新