当前位置: 首页 > 知识库问答 >
问题:

用Cassandra数据库实现Spring批处理

董和风
2023-03-14

我正在尝试更改现有的spring批处理作业(XML配置),它从oracle数据库读取数据,并以所需格式写入txt和XML文件,但现在我想更改相同的实现,从Cassandra数据库而不是oracle读取数据,但我在spring批处理中找不到类似于JdbcCursorItemReader的项目读取器。

有人能告诉我应该使用哪个ItemReader从Cassandra DB读取数据吗?或者我需要创建一个自定义的ItemReader来从Cassandra DB读取数据吗?

共有1个答案

夏侯昊明
2023-03-14

您可以创建CustomItemReader

public class CustomItemReader implements ItemReader<List<YOUR_DOMAIN_OBJECT>> {

    @PostConstruct
    public void init() throws IOException {
        //establish cassandra db connection
    }

    @Override
    public List<YOUR_DOMAIN_OBJECT> read()
        throws Exception{

        //user cassandra connection to read data and build List<YOUR_DOMAIN_OBJECT>

       return data;
    }

}
 类似资料:
  • 我使用Spring批处理从Oracle数据库读取数据并将结果写入CSV文件。 我还需要将spring批处理元数据表与oracle数据库分开,为此,我在批处理配置中配置了两个不同的数据源(spring批处理元数据的内存数据库)。 这是我的代码: 批处理配置。JAVA 然后我的itemReader bean看起来像: 当我运行批处理时,一切正常。 但是当我尝试在我的BatchApplication中添

  • 我有一个使用JPA的Spring Boot应用程序,它有一个PostgreSQL数据库。我使用的是Spring Batch。场景是我正在读取一个文件并将数据写入PostgreSQL数据库。当程序在数据库中创建Spring Batch使用的元数据表时,它与PostgreSQL一起工作。但我需要的是Spring Boot不要创建元数据表,并通过Spring Batch使用内存中基于映射的作业存储库。我

  • 我在日志中收到以下警告: WARN[本机传输请求:17058]2014-07-29 13:58:33776 BatchStatement。[keyspace.tablex]的java(第223行)批准备语句的大小为10924,超过了指定的阈值5120乘以5804。 有没有办法在Spring数据卡桑德拉指定大小? Cassandra 2.0.9和spring数据Cassandra 1.0.0-REL

  • context.xml 感谢Sh AntiBhushan

  • 我试图在spring batch admin中使用mysql数据库,而不是默认的HSQL。根据文件 http://docs.spring.io/spring-batch-admin/reference/reference.xhtml和使用jndi数据源与Spring批处理管理 我复制了to并将其配置值从 到 下面是我的完整配置。 我还尝试应对数据源环境。xml到同一个文件夹,并将其配置更改为mys

  • 顺便说一句:我的应用程序是一些REST控制器和一些批处理作业的组合。那么使用云数据流有意义吗?如果没有,那么是否有更好的控制台管理器用于批处理作业(如重新启动、取消作业门户)等?