You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Quartz 1.6.0部署WildFly 8时出现is_volatile列不存在错误求助

问题分析与解决方案

核心错误是Quartz在执行作业恢复时,找不到PostgreSQL数据库表中的is_volatile列——这是因为Quartz 1.6.0的JDBC JobStore依赖特定的数据库表结构,而你的数据库中缺少该列。

解决步骤:

  • 执行Quartz 1.6.0对应PostgreSQL的建表脚本
    找到quartz-1.6.0安装包或依赖包中的docs/dbTables/postgresql/tables_postgres.sql脚本,在你的PostgreSQL数据库中执行该脚本,确保所有Quartz所需的表和列都正确创建。

  • 手动添加缺失的列(如果已有表不想重建)
    如果数据库中已经存在Quartz的表,直接在QRTZ_JOB_DETAILS表中添加is_volatile列:

    ALTER TABLE QRTZ_JOB_DETAILS ADD COLUMN is_volatile BOOLEAN NOT NULL DEFAULT FALSE;
    
  • 验证Quartz配置文件
    检查quartz.properties中的以下配置是否正确:

    # 使用JDBC JobStore
    org.quartz.jobStore.class = org.quartz.impl.jdbcjobstore.JobStoreTX
    # 指定PostgreSQL的驱动代理类
    org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.PostgreSQLDelegate
    # 确保数据库连接信息正确
    org.quartz.dataSource.quartzDS.driver = org.postgresql.Driver
    org.quartz.dataSource.quartzDS.URL = jdbc:postgresql://your-host:5432/your-db
    org.quartz.dataSource.quartzDS.user = your-user
    org.quartz.dataSource.quartzDS.password = your-password
    
  • 注意版本兼容性
    你的技术栈版本较老(Quartz 1.6.0、Spring 1.1.4等),建议使用PostgreSQL 9.x或更低版本,避免高版本的语法或特性冲突。

内容的提问来源于stack exchange,提问作者kartheepan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 01:06:20