2016-06-21 15 views
0

In meiner Spring Batch-Anwendung versuche ich, die Datensätze in Writer mit JdbcTemplate batchUpdate zu aktualisieren. Aber nietere Änderungen spiegeln sich in DB wider, noch wird der Job abgeschlossen. Wenn ich im Frühjahr JOB_EXECUTION einchecke, zeigt META-TABLES EXIT_CODE UNBEKANNT an.jdbcTemplate batchUpdate Problem

List<Object[]> objects = new ArrayList<Object[]>(); 
     for(Item item : items){ 
      Object[] objectsArray = new Object[]{item.getName(),item.getValidToDate(),item.getAccountNo(),item.getCode()}; 
      objects.add(objectsArray); 
     } 
     iagJdbcTemplate.batchUpdate(updateSql,objects); 

Und meine Update-Abfrage ist wie folgt

UPDATE ACCOUNT_INFO SET ADDRESS= ?,DATE=? WHERE ACCOUNT=? AND CODE=?; 

Kontentabelle zusammengesetzte Primärschlüssel hat, die eine Kombination von ACCOUNT & CODE ist.

HINWEIS: Wenn ich dasselbe mit INSERT-Abfrage ausführen, funktioniert es einfach gut.

Bitte lassen Sie mich wissen, wo ich falsch liege.

+0

Möglicherweise müssen Sie diesen Beitrag überprüfen "Warum Spring jdbcTemplate.batchUpdate() so langsam?" [link] (http://stackoverflow.com/questions/20360574/why-springs-jdbctemplate-batchupdate-so-slow) –

+0

Saif danke für die Antwort. Dieses Problem bezieht sich auf die Leistung, aber für mich ist es nicht nur ausgeführt. – Jay

+0

Warum wird 'JdbcBatchItemWriter' nicht verwendet? –

Antwort

0

Problem ist behoben. In der jdbcTemplate oder in der Aktualisierungsabfrage ist nichts falsch. Es ist ein anderes umweltbezogenes Problem. Die gleiche Konfiguration funktioniert gut. Keine Notwendigkeit, die Konfigurationen zu ändern. Danke allen.