所以我为我的 Spring 批处理程序设置了一个自定义的 ApplicationEvent 和 ApplicationListener。我按照第 3.13.2 节的说明进行操作
这是我创建的 ApplicationEvent
import org.springframework.context.ApplicationEvent;
public class DataReaderEvent extends ApplicationEvent {
private final String progress;
private final String text;
public DataReaderEvent(Object source, String progress, String text) {
super(source);
this.progress = progress;
this.text = text;
}
public String getProgress() {
return progress;
}
public String getText() {
return text;
}
}
还有我的 ApplicationListener
import org.springframework.context.ApplicationListener;
public class DataReaderNotifier implements ApplicationListener<DataReaderEvent> {
private String progress;
private String text;
@Override
public void onApplicationEvent(DataReaderEvent event) {
this.progress = event.getProgress();
this.text = event.getText();
}
public String getProgress() {
return progress;
}
public String getText() {
return text;
}
}
我遇到的问题是 ApplicationListener 抱怨我试图做 ApplicationListener < DataReaderEvent >
它说,“ApplicationListener 类型不是通用的;它不能用参数 DataEventReader 参数化”
我不明白为什么会这样,因为我认为我非常密切地遵循了这个例子。如果有人有任何想法,他们将不胜感激。