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

Spring批处理禁用自动创建元表

蓝昊然
2023-03-14

我正在使用Spring Batch,我知道它可以自动创建元表。我不需要它们,我尝试了:spring.batch.initializer.enabled=falsespring.batch.initialize-Schema:从不,我总是有这个错误:

Caused by: org.postgresql.util.PSQLException: ERROR: relation "batch_job_instance" does not exist 
 Position : 39
    at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2553) ~[postgresql-42.2.16.jar:42.2.16]
    at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2285) ~[postgresql-42.2.16.jar:42.2.16]
    at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:323) ~[postgresql-42.2.16.jar:42.2.16]
    at org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:473) ~[postgresql-42.2.16.jar:42.2.16]
    at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:393) ~[postgresql-42.2.16.jar:42.2.16]
    at org.postgresql.jdbc.PgPreparedStatement.executeWithFlags(PgPreparedStatement.java:164) ~[postgresql-42.2.16.jar:42.2.16]
    at org.postgresql.jdbc.PgPreparedStatement.executeQuery(PgPreparedStatement.java:114) ~[postgresql-42.2.16.jar:42.2.16]
    at com.zaxxer.hikari.pool.ProxyPreparedStatement.executeQuery(ProxyPreparedStatement.java:52) ~[HikariCP-3.4.5.jar:na]
    at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeQuery(HikariProxyPreparedStatement.java) ~[HikariCP-3.4.5.jar:na]
    at org.springframework.jdbc.core.JdbcTemplate$1.doInPreparedStatement(JdbcTemplate.java:678) ~[spring-jdbc-5.2.9.RELEASE.jar:5.2.9.RELEASE]
    at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:617) ~[spring-jdbc-5.2.9.RELEASE.jar:5.2.9.RELEASE]
    ... 39 common frames omitted

共有1个答案

通和裕
2023-03-14

我正在使用Spring Batch,我知道它可以自动创建元表。我不需要它们。

Spring Batch不会自动创建表,如果您指示它这样做,则Spring Boot会这样做。

[关闭它们]我试过:spring.batch.initializer.enabled= false or spring.batch.initialize-schema:从来没有,我总是有这个错误

你的属性都不正确。属性名为< code > spring . batch . JDBC . initialize-schema 。请查看参考文档。

 类似资料:
  • 反正可以禁用SQL,我只是想测试我的读写器和处理器工作正常。

  • 问题内容: 我只是使用Spring Batch框架创建了一个批处理作业,但是我没有运行CREATE SQL的数据库特权。当我尝试运行批处理作业时,在框架尝试创建TABLE_BATCH_INSTANCE时遇到错误。我尝试禁用 但是我尝试后仍然遇到错误 无论如何都可以禁用SQL,我只想测试我的阅读器编写器和处理器是否正常工作。 问题答案: 使用Spring Boot 2.0,你可能需要以下代码:htt

  • 我正试图用spring boot编写我的第一个spring批处理示例。我想在应用程序启动后立即在mysql中创建数据库。 我的pom中有以下依赖项 和应用。属性具有以下配置 但是当我开始应用程序时,它无法识别MySQL,并且在日志中它正在打印以下行 在mySql中,我缺少什么可以自动创建模式?

  • 我正在编写一个spring批处理应用程序,由需要按照特定顺序执行的不同作业组成。为此,我通过JobLauncher手动运行作业,并通过在属性文件中添加以下属性来禁用Spring批处理提供的自动启动特性:

  • 我的Spring批处理应用程序有多个作业,但只有一个作业使用一些特定的Spring Boot自动配置特性: 使用spring-data-jpa自动配置为业务事务配置数据库的作业(不是Spring批处理管理) 根本不使用数据库的作业 我把这两个工作打包在同一个单位,因为从商业角度来看是有意义的。两个作业将一起工作,一个作业的输出将是另一个作业的输入。 运行第二个作业时是否可以禁用特定于数据库的自动配