@@ -92,13 +92,13 @@ public class JdbcJobExecutionDao extends AbstractJdbcBatchMetadataDao implements
92
92
private static final String CHECK_JOB_EXECUTION_EXISTS = """
93
93
SELECT COUNT(*)
94
94
FROM %PREFIX%JOB_EXECUTION
95
- WHERE JOB_EXECUTION_ID = ?
95
+ WHERE JOB_EXECUTION_ID = :executionId
96
96
""" ;
97
97
98
98
private static final String GET_STATUS = """
99
99
SELECT STATUS
100
100
FROM %PREFIX%JOB_EXECUTION
101
- WHERE JOB_EXECUTION_ID = ?
101
+ WHERE JOB_EXECUTION_ID = :executionId
102
102
""" ;
103
103
104
104
private static final String UPDATE_JOB_EXECUTION = """
@@ -113,29 +113,29 @@ SELECT COUNT(*)
113
113
""" ;
114
114
115
115
private static final String FIND_JOB_EXECUTIONS = GET_JOB_EXECUTIONS
116
- + " WHERE JOB_INSTANCE_ID = ? ORDER BY JOB_EXECUTION_ID DESC" ;
116
+ + " WHERE JOB_INSTANCE_ID = :jobInstanceId ORDER BY JOB_EXECUTION_ID DESC" ;
117
117
118
118
private static final String GET_LAST_EXECUTION = GET_JOB_EXECUTIONS
119
- + " WHERE JOB_INSTANCE_ID = ? AND JOB_EXECUTION_ID IN (SELECT MAX(JOB_EXECUTION_ID) FROM %PREFIX%JOB_EXECUTION E2 WHERE E2.JOB_INSTANCE_ID = ? )" ;
119
+ + " WHERE JOB_INSTANCE_ID = :jobInstanceId AND JOB_EXECUTION_ID IN (SELECT MAX(JOB_EXECUTION_ID) FROM %PREFIX%JOB_EXECUTION E2 WHERE E2.JOB_INSTANCE_ID = :jobInstanceId )" ;
120
120
121
- private static final String GET_EXECUTION_BY_ID = GET_JOB_EXECUTIONS + " WHERE JOB_EXECUTION_ID = ? " ;
121
+ private static final String GET_EXECUTION_BY_ID = GET_JOB_EXECUTIONS + " WHERE JOB_EXECUTION_ID = :jobExecutionId " ;
122
122
123
123
private static final String GET_RUNNING_EXECUTIONS = """
124
124
SELECT E.JOB_EXECUTION_ID, E.START_TIME, E.END_TIME, E.STATUS, E.EXIT_CODE, E.EXIT_MESSAGE, E.CREATE_TIME, E.LAST_UPDATED, E.VERSION, E.JOB_INSTANCE_ID
125
125
FROM %PREFIX%JOB_EXECUTION E, %PREFIX%JOB_INSTANCE I
126
- WHERE E.JOB_INSTANCE_ID=I.JOB_INSTANCE_ID AND I.JOB_NAME=? AND E.STATUS IN ('STARTING', 'STARTED', 'STOPPING')
126
+ WHERE E.JOB_INSTANCE_ID=I.JOB_INSTANCE_ID AND I.JOB_NAME=:jobName AND E.STATUS IN ('STARTING', 'STARTED', 'STOPPING')
127
127
""" ;
128
128
129
129
private static final String CURRENT_VERSION_JOB_EXECUTION = """
130
130
SELECT VERSION
131
131
FROM %PREFIX%JOB_EXECUTION
132
- WHERE JOB_EXECUTION_ID=?
132
+ WHERE JOB_EXECUTION_ID= :executionId
133
133
""" ;
134
134
135
135
private static final String FIND_PARAMS_FROM_ID = """
136
136
SELECT JOB_EXECUTION_ID, PARAMETER_NAME, PARAMETER_TYPE, PARAMETER_VALUE, IDENTIFYING
137
137
FROM %PREFIX%JOB_EXECUTION_PARAMS
138
- WHERE JOB_EXECUTION_ID = ?
138
+ WHERE JOB_EXECUTION_ID = :executionId
139
139
""" ;
140
140
141
141
private static final String CREATE_JOB_PARAMETERS = """
@@ -145,12 +145,12 @@ SELECT COUNT(*)
145
145
146
146
private static final String DELETE_JOB_EXECUTION = """
147
147
DELETE FROM %PREFIX%JOB_EXECUTION
148
- WHERE JOB_EXECUTION_ID = ? AND VERSION = ?
148
+ WHERE JOB_EXECUTION_ID = :executionId AND VERSION = :version
149
149
""" ;
150
150
151
151
private static final String DELETE_JOB_EXECUTION_PARAMETERS = """
152
152
DELETE FROM %PREFIX%JOB_EXECUTION_PARAMS
153
- WHERE JOB_EXECUTION_ID = ?
153
+ WHERE JOB_EXECUTION_ID = :executionId
154
154
""" ;
155
155
156
156
private int exitMessageLength = DEFAULT_EXIT_MESSAGE_LENGTH ;
@@ -213,7 +213,10 @@ public List<JobExecution> findJobExecutions(final JobInstance job) {
213
213
Assert .notNull (job , "Job cannot be null." );
214
214
Assert .notNull (job .getId (), "Job Id cannot be null." );
215
215
216
- return getJdbcTemplate ().query (getQuery (FIND_JOB_EXECUTIONS ), new JobExecutionRowMapper (job ), job .getId ());
216
+ return getJdbcClient ().sql (getQuery (FIND_JOB_EXECUTIONS ))
217
+ .param ("jobInstanceId" , job .getId ())
218
+ .query (new JobExecutionRowMapper (job ))
219
+ .list ();
217
220
}
218
221
219
222
/**
@@ -306,8 +309,10 @@ public void updateJobExecution(JobExecution jobExecution) {
306
309
// it
307
310
// is invalid and
308
311
// an exception should be thrown.
309
- if (getJdbcTemplate ().queryForObject (getQuery (CHECK_JOB_EXECUTION_EXISTS ), Integer .class ,
310
- new Object [] { jobExecution .getId () }) != 1 ) {
312
+ if (getJdbcClient ().sql (getQuery (CHECK_JOB_EXECUTION_EXISTS ))
313
+ .param ("executionId" , jobExecution .getId ())
314
+ .query (Integer .class )
315
+ .single () != 1 ) {
311
316
throw new NoSuchObjectException ("Invalid JobExecution, ID " + jobExecution .getId () + " not found." );
312
317
}
313
318
@@ -317,8 +322,10 @@ public void updateJobExecution(JobExecution jobExecution) {
317
322
318
323
// Avoid concurrent modifications...
319
324
if (count == 0 ) {
320
- int currentVersion = getJdbcTemplate ().queryForObject (getQuery (CURRENT_VERSION_JOB_EXECUTION ),
321
- Integer .class , new Object [] { jobExecution .getId () });
325
+ int currentVersion = getJdbcClient ().sql (getQuery (CURRENT_VERSION_JOB_EXECUTION ))
326
+ .param ("executionId" , jobExecution .getId ())
327
+ .query (Integer .class )
328
+ .single ();
322
329
throw new OptimisticLockingFailureException (
323
330
"Attempt to update job execution id=" + jobExecution .getId () + " with wrong version ("
324
331
+ jobExecution .getVersion () + "), where current version is " + currentVersion );
@@ -337,22 +344,22 @@ public JobExecution getLastJobExecution(JobInstance jobInstance) {
337
344
338
345
Long id = jobInstance .getId ();
339
346
340
- try (Stream <JobExecution > stream = getJdbcTemplate ().queryForStream (getQuery (GET_LAST_EXECUTION ),
341
- new JobExecutionRowMapper (jobInstance ), id , id )) {
347
+ try (Stream <JobExecution > stream = getJdbcClient ().sql (getQuery (GET_LAST_EXECUTION ))
348
+ .param ("jobInstanceId" , id )
349
+ .query (new JobExecutionRowMapper (jobInstance ))
350
+ .stream ()) {
342
351
return stream .findFirst ().orElse (null );
343
352
}
344
353
}
345
354
346
355
@ Override
347
356
@ Nullable
348
357
public JobExecution getJobExecution (Long executionId ) {
349
- try {
350
- return getJdbcTemplate ().queryForObject (getQuery (GET_EXECUTION_BY_ID ), new JobExecutionRowMapper (),
351
- executionId );
352
- }
353
- catch (EmptyResultDataAccessException e ) {
354
- return null ;
355
- }
358
+ return getJdbcClient ().sql (getQuery (GET_EXECUTION_BY_ID ))
359
+ .param ("jobExecutionId" , executionId )
360
+ .query (new JobExecutionRowMapper ())
361
+ .optional ()
362
+ .orElse (null );
356
363
}
357
364
358
365
@ Override
@@ -363,18 +370,23 @@ public Set<JobExecution> findRunningJobExecutions(String jobName) {
363
370
JobExecutionRowMapper mapper = new JobExecutionRowMapper ();
364
371
result .add (mapper .mapRow (rs , 0 ));
365
372
};
366
- getJdbcTemplate ().query (getQuery (GET_RUNNING_EXECUTIONS ), handler , jobName );
373
+ getJdbcClient ().sql (getQuery (GET_RUNNING_EXECUTIONS )). param ( "jobName" , jobName ). query ( handler );
367
374
368
375
return result ;
369
376
}
370
377
371
378
@ Override
372
379
public void synchronizeStatus (JobExecution jobExecution ) {
373
- int currentVersion = getJdbcTemplate ().queryForObject (getQuery (CURRENT_VERSION_JOB_EXECUTION ), Integer .class ,
374
- jobExecution .getId ());
380
+ int currentVersion = getJdbcClient ().sql (getQuery (CURRENT_VERSION_JOB_EXECUTION ))
381
+ .param ("executionId" , jobExecution .getId ())
382
+ .query (Integer .class )
383
+ .single ();
375
384
376
385
if (currentVersion != jobExecution .getVersion ()) {
377
- String status = getJdbcTemplate ().queryForObject (getQuery (GET_STATUS ), String .class , jobExecution .getId ());
386
+ String status = getJdbcClient ().sql (getQuery (GET_STATUS ))
387
+ .param ("executionId" , jobExecution .getId ())
388
+ .query (String .class )
389
+ .single ();
378
390
jobExecution .upgradeStatus (BatchStatus .valueOf (status ));
379
391
jobExecution .setVersion (currentVersion );
380
392
}
@@ -386,8 +398,10 @@ public void synchronizeStatus(JobExecution jobExecution) {
386
398
*/
387
399
@ Override
388
400
public void deleteJobExecution (JobExecution jobExecution ) {
389
- int count = getJdbcTemplate ().update (getQuery (DELETE_JOB_EXECUTION ), jobExecution .getId (),
390
- jobExecution .getVersion ());
401
+ int count = getJdbcClient ().sql (getQuery (DELETE_JOB_EXECUTION ))
402
+ .param ("executionId" , jobExecution .getId ())
403
+ .param ("version" , jobExecution .getVersion ())
404
+ .update ();
391
405
392
406
if (count == 0 ) {
393
407
throw new OptimisticLockingFailureException ("Attempt to delete job execution id=" + jobExecution .getId ()
@@ -401,7 +415,9 @@ public void deleteJobExecution(JobExecution jobExecution) {
401
415
*/
402
416
@ Override
403
417
public void deleteJobExecutionParameters (JobExecution jobExecution ) {
404
- getJdbcTemplate ().update (getQuery (DELETE_JOB_EXECUTION_PARAMETERS ), jobExecution .getId ());
418
+ getJdbcClient ().sql (getQuery (DELETE_JOB_EXECUTION_PARAMETERS ))
419
+ .param ("executionId" , jobExecution .getId ())
420
+ .update ();
405
421
}
406
422
407
423
/**
@@ -468,7 +484,7 @@ protected JobParameters getJobParameters(Long executionId) {
468
484
map .put (parameterName , jobParameter );
469
485
};
470
486
471
- getJdbcTemplate ().query (getQuery (FIND_PARAMS_FROM_ID ), handler , executionId );
487
+ getJdbcClient ().sql (getQuery (FIND_PARAMS_FROM_ID )). param ( "executionId" , executionId ). query ( handler );
472
488
473
489
return new JobParameters (map );
474
490
}
0 commit comments