Java spring批处理中的作业被执行多次,并且没有停止

Java spring批处理中的作业被执行多次,并且没有停止,java,xml,jdbc,cassandra,spring-batch,Java,Xml,Jdbc,Cassandra,Spring Batch,我正在尝试使用SpringBatch从cassandra读取数据,我在其中实现了ItemReader、ItemProcessor和ItemWriter。我能够读取数据、处理数据并将数据写回同一个表。我正在创建xml文件以执行作业: xml: applicationcontext.xml: <beans:bean id="CassandraSource" parent="DataSourceParent"> <beans:property name="url" value="

我正在尝试使用SpringBatch从cassandra读取数据,我在其中实现了ItemReader、ItemProcessor和ItemWriter。我能够读取数据、处理数据并将数据写回同一个表。我正在创建xml文件以执行作业:

xml:


applicationcontext.xml:

<beans:bean id="CassandraSource" parent="DataSourceParent">
<beans:property name="url" value="jdbc:cassandra://${cassandra.hostName}:${cassandra.port}/${cassandra.keyspace}" />
<beans:property name="driverClassName" value="org.apache.cassandra.cql.jdbc.CassandraDriver" />
</beans:bean>

读者类别:

   public static final String query = "SELECT * FROM test_1 allow filtering;";

 @Override
    public List<Item> read() throws Exception, UnexpectedInputException, ParseException, NonTransientResourceException 
    {
    List<Item> results = new ArrayList<Item>();
try {
results = cassandraTemplate.select(query,Item.class);
    } catch (Exception e) {
    e.printStackTrace();
    }
return results;
    }
publicstaticfinalstringquery=“SELECT*fromtest_1 allow filtering;”;
@凌驾
public List read()引发异常、UnexpectedInputException、ParseException、NonTransientResourceException
{
列表结果=新建ArrayList();
试一试{
结果=cassandraTemplate.select(查询,Item.class);
}捕获(例外e){
e、 printStackTrace();
}
返回结果;
}
作家类别:

@Override
public void write(List<? extends Item> item) throws Exception {
    try {
    cassandraTemplate.insert(item);
}catch(Exception e){e.printStackTrace();}
@覆盖

公共无效写入(列表已解决)

在阅读课上,我写道:

if(results.size!=0)
返回结果;
其他的

return null;

如果删除所有与jdbc/cassandra相关的代码,是否也会发生这种情况?是的,即使我删除了与cassandra相关的代码,它也不会停止。我认为问题在于不需要的配置。我想您可以简单地忽略它。我会删除next=“”因为没有下一步。另外,当你附加到现有的表中时,你不是在创建读者可以阅读的新项目,创建一个无限循环吗?@Ilya Dyoshin。我认为要分块这一步,我们需要有tasklet,我需要分块,因为@later point of time我的数据将是巨大的
@Override
public void write(List<? extends Item> item) throws Exception {
    try {
    cassandraTemplate.insert(item);
}catch(Exception e){e.printStackTrace();}