Spring 批存储库:JdbcJobInstanceDao
Spring Batch Repository: JdbcJobInstanceDao
我已经查看了 JdbcJobInstanceDao
的 grepcode 并找到了我正在努力理解的代码片段。
根据 Spring 批存储库架构,
CREATE TABLE BATCH_JOB_INSTANCE (
JOB_INSTANCE_ID BIGINT NOT NULL PRIMARY KEY ,
VERSION BIGINT ,
JOB_NAME VARCHAR(100) NOT NULL,
JOB_KEY VARCHAR(32) NOT NULL,
constraint JOB_INST_UN unique (JOB_NAME, JOB_KEY)
) ENGINE=InnoDB;
JOB_NAME 实际上是唯一的。但是在 JdbcJobInstanceDao#getJobInstances(String jobName, int start,int count)
方法中,对于相同的 JOB_NAME,它被视为条目列表可以存在于 BATCH_JOB_INSTANCE table 中。
有这种可能吗?请解释。
JOB_NAME
不是唯一的。 JOB_NAME
和 JOB_KEY
(作业参数的散列)的组合是唯一的。
因此可以存在同一个作业的多个实例,只要它们具有不同的作业参数即可。
我已经查看了 JdbcJobInstanceDao
的 grepcode 并找到了我正在努力理解的代码片段。
根据 Spring 批存储库架构,
CREATE TABLE BATCH_JOB_INSTANCE (
JOB_INSTANCE_ID BIGINT NOT NULL PRIMARY KEY ,
VERSION BIGINT ,
JOB_NAME VARCHAR(100) NOT NULL,
JOB_KEY VARCHAR(32) NOT NULL,
constraint JOB_INST_UN unique (JOB_NAME, JOB_KEY)
) ENGINE=InnoDB;
JOB_NAME 实际上是唯一的。但是在 JdbcJobInstanceDao#getJobInstances(String jobName, int start,int count)
方法中,对于相同的 JOB_NAME,它被视为条目列表可以存在于 BATCH_JOB_INSTANCE table 中。
有这种可能吗?请解释。
JOB_NAME
不是唯一的。 JOB_NAME
和 JOB_KEY
(作业参数的散列)的组合是唯一的。
因此可以存在同一个作业的多个实例,只要它们具有不同的作业参数即可。