所以我为我的Spring批处理程序设置了一个自定义的ApplicationEvent和ApplicationListener。我按照第3.13.2节
中的说明here进行了操作这是我创建的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&lt; DataReaderEvent&gt;
它说, “ApplicationListener类型不是通用的;它不能使用参数DataEventReader参数化”
我不明白为什么会这样,因为我认为我非常仔细地遵循了这个例子。如果有人有任何想法,他们将不胜感激。
答案 0 :(得分:2)
您确定项目中包含正确的(3.0.x +)版本的Spring吗?我认为在2.5.x中ApplicationListener不是通用的,所以如果你不小心使用那个旧版本,那么这会导致你遇到的问题。