Files
java-tutorials/spring-batch/repository.sqlite
T

202 lines
72 KiB
Plaintext
Raw Normal View History

SQLite format 3@ ù-ù.Y
ø fLž³ %
Y7ë]Òfj
''tableBATCH_JOB_SEQBATCH_JOB_SEQ CREATE TABLE BATCH_JOB_SEQ ( ID INTEGER PRIMARY KEY AUTOINCREMENT ) ;;'tableBATCH_JOB_EXECUTION_SEQBATCH_JOB_EXECUTION_SEQ CREATE TABLE BATCH_JOB_EXECUTION_SEQ ( ID INTEGER PRIMARY KEY AUTOINCREMENT ) ==)tableBATCH_STEP_EXECUTION_SEQBATCH_STEP_EXECUTION_SEQ CREATE TABLE BATCH_STEP_EXECUTION_SEQ ( ID INTEGER PRIMARY KEY AUTOINCREMENT )I
CCtableBATCH_JOB_EXECUTION_CONTEXTBATCH_JOB_EXECUTION_CONTEXT
CREATE TABLE BATCH_JOB_EXECUTION_CONTEXT ( JOB_EXECUTION_ID INTEGER NOT NULL PRIMARY KEY, SHORT_CONTEXT VARCHAR(2500) NOT NULL, SERIALIZED_CONTEXT CLOB , constraint JOB_EXEC_CTX_FK foreign key (JOB_EXECUTION_ID) references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID) )Q EE„%tableBATCH_STEP_EXECUTION_CONTEXTBATCH_STEP_EXECUTION_CONTEXTCREATE TABLE BATCH_STEP_EXECUTION_CONTEXT ( STEP_EXECUTION_ID INTEGER NOT NULL PRIMARY KEY, SHORT_CONTEXT VARCHAR(2500) NOT NULL, SERIALIZED_CONTEXT CLOB , constraint STEP_EXEC_CTX_FK foreign key (STEP_EXECUTION_ID) references BATCH_STEP_EXECUTION(STEP_EXECUTION_ID) )…K55Š9tableBATCH_STEP_EXECUTIONBATCH_STEP_EXECUTIONCREATE TABLE BATCH_STEP_EXECUTION ( STEP_EXECUTION_ID INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, VERSION INTEGER NOT NULL, STEP_NAME VARCHAR(100) NOT NULL, JOB_EXECUTION_ID INTEGER NOT NULL, START_TIME TIMESTAMP NOT NULL , END_TIME TIMESTAMP DEFAULT NULL , STATUS VARCHAR(10) , COMMIT_COUNT INTEGER , READ_COUNT INTEGER , FILTER_COUNT INTEGER , WRITE_COUNT INTEGER , READ_SKIP_COUNT INTEGER , WRITE_SKIP_COUNT INTEGER , PROCESS_SKIP_COUNT INTEGER , ROLLBACK_COUNT INTEGER , EXIT_CODE VARCHAR(100) , EXIT_MESSAGE VARCHAR(2500) , LAST_UPDATED TIMESTAMP, constraint JOB_EXEC_STEP_FK foreign key (JOB_EXECUTION_ID) references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID) )ƒIAAtableBATCH_JOB_EXECUTION_PARAMSBATCH_JOB_EXECUTION_PARAMSCREATE TABLE BATCH_JOB_EXECUTION_PARAMS ( JOB_EXECUTION_ID INTEGER NOT NULL , TYPE_CD VARCHAR(6) NOT NULL , KEY_NAME VARCHAR(100) NOT NULL , STRING_VAL VARCHAR(250) , DATE_VAL TIMESTAMP DEFAULT NULL , LONG_VAL INTEGER , DOUBLE_VAL DOUBLE PRECISION , IDENTIFYING CHAR(1) NOT NULL , constraint JOB_EXEC_PARAMS_FK foreign key (JOB_EXECUTION_ID) references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID) )„$33‡otableBATCH_JOB_EXECUTIONBATCH_JOB_EXECUTIONCREATE TABLE BATCH_JOB_EXECUTION ( JOB_EXECUTION_ID INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, VERSION INTEGER , JOB_INSTANCE_ID INTEGER NOT NULL, CREATE_TIME TIMESTAMP NOT NULL, START_TIME TIMESTAMP DEFAULT NULL , END_TIME TIMESTAMP DEFAULT NULL , STATUS VARCHAR(10) , EXIT_CODE VARCHAR(100) , EXIT_MESSAGE VARCHAR(2500) , LAST_UPDATED TIMESTAMP, JOB_CONFIGURATION_LOCATION VARCHAR(2500), constraint JOB_INST_EXEC_FK foreign key (JOB_INSTANCE_ID) references BATCH_JOB_INSTANCE(JOB_INSTANCE_ID) )P++Ytablesqlite_sequencesqlite_sequenceCREATE TABLE sqlite_sequence(name,seq)11ƒOtableBATCH_JOB_INSTANCEBATCH_JOB_INSTANCECREATE TABLE BATCH_JOB_INSTANCE ( JOB_INSTANCE_ID INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, VERSION INTEGER , JOB_NAME VARCHAR(100) NOT NULL, JOB_KEY VARCHAR(32) NOT NULL, constraint JOB_INST_UN unique (JOB_NAME, JOB_KEY) )CW1indexsqlite_autoindex_BATCH_JOB_INSTANCE_1BATCH_JOB_INSTANCE
îÌ\(øÎ¤tB
î
Mjob21fc528864e211c4ef5473f388f2618b0 #MtaskletsJob07d601f9ebc866d5fb506ca1f568182e.MchunksJob051f4f4168df186560bbe9df1390e488(Mjobb0319109aa764375ae7f16be319e371a(Mjob7376556464e97d24f7bf71c6fb55953d.MchunksJobd02b0fdd75715f69808411f8c8b3ce542'MretryBatchJob48b1be807e1dca8cc457b586f3d9491d71MskipPolicyBatchJob4e459a3fb5927ea808813b0ed07356655-MskippingBatchJobef242b21722fbc58a4b14f095db307b12'MfirstBatchJobf22c4112d4f353d9e1fc3d6704a4f18d
ú}þÎ#
úÕ¬-`˜L(Mjob573a77c13404bb2bfe8e48e2ee39f654 (Mjob21fc528864e211c4ef5473f388f2618b
0#MtaskletsJob07d601f9ebc866d5fb506ca1f568182e .MchunksJob051f4f4168df186560bbe9df1390e488(Mjobb0319109aa764375ae7f16be319e371a(Mjob7376556464e97d24f7bf71c6fb55953d.MchunksJobd02b0fdd75715f69808411f8c8b3ce542'MretryBatchJob48b1be807e1dca8cc457b586f3d9491d71MskipPolicyBatchJob4e459a3fb5927ea808813b0ed07356655-MskippingBatchJobef242b21722fbc58a4b14f095db307b11'M firstBatchJobf22c4112d4f353d9e1fc3d6704a4f18d
ggè˲z
at org.springframework.batch.core.step.skip.LimitCheckingItemSkipPolicy.shouldSkip(LimitCheckingItemSkipPolicy.java:133)
at org.springframework.batch.core.step.skip.ExceptionClassifierSkipPolicy.shouldSkip(ExceptionClassifierSkipPolicy.java:70)
at org.springframework.batch.core.step.item.FaultTolerantChunkProcessor.shouldSkip(FaultTolerantChunkProcessor.java:503)
at org.springframework.batch.core.step.item.FaultTolerantChunkProcessor.access$500(FaultTolerantChunkProcessor.java:52)
at org.springframework.batch.core.step.item.FaultTolerantChunkProcessor$2.recover(FaultTolerantChunkProcessor.java:279)
at org.springframework.retry.support.RetryTemplate.handleRetryExhausted(RetryTemplate.java:512)
at org.springframework.retry.support.RetryTemplate.doExecute(RetryTemplate.java:351)
at org.springframework.retry.support.RetryTemplate.execute(RetryTemplate.java:211)
at org.springframework.batch.core.step.item.BatchRetryTemplate.execute(BatchRetryTemplate.java:217)
at org.springframework.batch.core.step.item.FaultTolerantChunkProcessor.transform(FaultTolerantChunkProcessor.java:298)
at org.springframework.batch.core.step.item.SimpleChunkProcessor.process(SimpleChunkProcessor.java:210)
at org.springframework.batch.core.step.item.ChunkOrientedTasklet.execute(ChunkOrientedTasklet.java:77)
at org.springframework.batch.core.step.tasklet.TaskletStep$ChunkTransactionCallback.doInTransaction(TaskletStep.java:407)
at org.springframework.batch.core.step.tasklet.TaskletStep$ChunkTransactionCallback.doInTransaction(TaskletStep.java:331)
at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140)
at org.springframework.batch.core.step.tasklet.TaskletStep$2.doInChunkContext(TaskletStep.java:273)
at org.springframework.batch.core.scope.context.StepContextRepeatCallback.doInIteration(StepContextRepeatCallback.java:82)
at org.springframework.batch.repeat.support.RepeatTemplate.getNextResult(RepeatTemplate.java:375)
at org.springframework.batch.repeat.support.RepeatTemplate.executeInternal(RepeatTemplate.java:215)
at org.springframework.batch.repeat.support.RepeatTemplate.iterate(RepeatTemplate.java:145)
at org.springframework.batch.core.step.tasklet.TaskletStep.doExecute(TaskletStep.java:258)
at org.springframework.batch.core.step.AbstractStep.execute(AbstractStep.java:208)
at org.springframework.batch.pöÂÑQ7  
pöÂÏupöÂÏÅpöÂÐËCOMPLETEDCOMPL
ŒÜ·mN- íέŒ !
 DATElaunchDate}R‡E÷Y
!

DATElaunchDate}R‡=MY 
 LONGrandom݈ÁA@&¿Y 
LONGrandom¥Y¹¥yÇ+ŽY !
DATElaunchDatev+_§Y !
DATElaunchDatev+W×Y 
LONGrandomJ ?ì¤Y# 'STRINGjobID1584687927768Y# 'STRINGjobID1584687927643Y# 'STRINGjobID1584687927512Y" 'STRINGjobID1584687926787Yöûö?> )
skipPolicySteppöÂÑ…STARTEDEXECUTINGpöÂц”%§skippingSteppöÂÐþpöÂÑ7FAILEDFAILEDorg.springframework.batch.core.step.skip.SkipLimitExceededException: Skip limit of '2' exceeded
at org.springframework.batch.core.step.skip.LimitCheckingItemSkipPolicy.shouldSkip(LimitCheckingItemSkipPolicy.java:133)
at org.springframework.batch.core.step.skip.ExceptionClassifierSkipPolicy.shouldSkip(ExceptionClassifierSkipPolicy.java:70)
at org.springframework.batch.core.step.item.FaultTolerantChunkProcessor.shouldSkip(FaultTolerantChunkProcessor.java:503)
at org.springframework.batch.core.step.item.FaultTolerantChunkProcessor.access$500(FaultTolerantChunkProcessor.java:52)
at org.springframework.batch.core.step.item.FaultTolerantChunkProcessor$2.recover(FaultTolerantChunkProcessor.java:279)
at org.springframework.retry.support.RetryTemplate.handleRetryExhausted(RetryTemplate.java:512)
at org.springframework.retry.support.RetryTemplate.doExecute(RetryTemplate.java:351)
at org.springframework.retry.support.RetryTemplate.execute(RetryTemplate.java:211)
at org.springframework.batch.core.step.item.BatchRetryTemplate.execute(BatchRetryTemplate.java:217)
at org.springframework.batch.core.step.item.FaultTolerantChunkProcessor.transform(FaultTolerantChunkProcessor.java:298)
at org.springframework.batch.core.step.item.SimpleChunkProcessor.process(SimpleChunkProcessor.java:210)
at org.springframework.batch.core.step.item.ChunkOrientedTasklet.execute(ChunkOrientedTasklet.java:77)
at org.springframework.batch.core.step.tasklet.TaskletStep$ChunkTransactionCallback.doInTransaction(TaskletStep.java:407)
at org.springframework.batch.core.step.tasklet.TaskletStep$ChunkTransactionCallback.doInTransaction(TaskletStep.java:331)
at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140)
at org.springframework.batch.core.step.tasklet.TaskletStep$2.doInChunkContext(TaskletStep.java:273)
at org.springframework.batch.core.scope.context.StepContextRepeatCallback.doInIteration(StepContextRepeatCallback.java:82)
at org.springframework.batch.repeat.support.RepeatTemplate.getNextResult(RepeatTemplate.java:375)
at org.springframework.batch.repeat.support.RepeatTemplate.executeInternal(RepeatTemplate.java:215)
at org.springframework.batch.repeat.support.RepeatTemplate.iterate(RepeatTemplate.java:145)
at org.springframework.batch.core.step.tasklet.TaskletStep.doExecute(TaskletStep.java:258)
at org.springframework.batch.core.step.AbstractStep.execute(AbstractStep.java:208)
at org.springframework.batch.pöÂÑ8?  
step1pöÂÐ pöÂгCOMPLETEDCOMPL

ÜÈ
Z #
^ {˜Ó\¢¿Ü`
ƒC{"@class":"java.util.HashMap","bookItemReader.read.count":5,"batch.taskletType":"org.springframework.batch.core.step.item.ChunkOrientedTasklet","batch.stepType":"org.springframework.batch.core.step.tasklet.TaskletStep"}` ƒC{"@class":"java.util.HashMap","bookItemReader.read.count":5,"batch.taskletType":"org.springframework.batch.core.step.item.ChunkOrientedTasklet","batch.stepType":"org.springframework.batch.core.step.tasklet.TaskletStep"}7 q{"@class":"java.util.HashMap","batch.taskletType":"com.baeldung.taskletsvschunks.tasklets.LinesWriter","batch.stepType":"org.springframework.batch.core.step.tasklet.TaskletStep"}:
w{"@class":"java.util.HashMap","batch.taskletType":"com.baeldung.taskletsvschunks.tasklets.LinesProcessor","batch.stepType":"org.springframework.batch.core.step.tasklet.TaskletStep"}7 q{"@class":"java.util.HashMap","batch.taskletType":"com.baeldung.taskletsvschunks.tasklets.LinesReader","batch.stepType":"org.springframework.batch.core.step.tasklet.TaskletStep"}Bƒ{"@class":"java.util.HashMap","batch.taskletType":"org.springframework.batch.core.step.item.ChunkOrientedTasklet","batch.stepType":"org.springframework.batch.core.step.tasklet.TaskletStep"}`ƒC{"@class":"java.util.HashMap","bookItemReader.read.count":5,"batch.taskletType":"org.springframework.batch.core.step.item.ChunkOrientedTasklet","batch.stepType":"org.springframework.batch.core.step.tasklet.TaskletStep"}`ƒC{"@class":"java.util.HashMap","bookItemReader.read.count":5,"batch.taskletType":"org.springframework.batch.core.step.item.ChunkOrientedTasklet","batch.stepType":"org.springframework.batch.core.step.tasklet.TaskletStep"}Bƒ{"@class":"java.util.HashMap","batch.taskletType":"org.springframework.batch.core.step.item.ChunkOrientedTasklet","batch.stepType":"org.springframework.batch.core.step.tasklet.TaskletStep"}4„k{"batch.taskletType":"org.springframework.batch.core.step.item.ChunkOrientedTasklet","StaxEventItemWriter.record.count":["java.lang.Long",0],"StaxEventItemWriter.position":["java.lang.Long",57],"FlatFileItemReader.read.count":0,"batch.stepType":"org.springframework.batch.core.step.tasklet.TaskletStep"}4„k{"batch.taskletType":"org.springframework.batch.core.step.item.ChunkOrientedTasklet","StaxEventItemWriter.record.count":["java.lang.Long",0],"StaxEventItemWriter.position":["java.lang.Long",57],"FlatFileItemReader.read.count":0,"batch.stepType":"org.springframework.batch.core.step.tasklet.TaskletStep"}4„k{"batch.taskletType":"org.springframework.batch.core.step.item.ChunkOrientedTasklet","StaxEventItemWriter.record.count":["java.lang.Long",0],"StaxEventItemWriter.position":["java.lang.Long",57],"FlatFileItemReader.read.count":0,"batch.stepType":"org.springframework.batch.core.step.tasklet.TaskletStep"}5„m{"batch.taskletType":"org.springframework.batch.core.step.item.ChunkOrientedTasklet","StaxEventItemWriter.record.count":["java.lang.Long",3],"StaxEventItemWriter.position":["java.lang.Long",587],"FlatFileItemReader.read.count":4,"batch.stepType":"org.springframework.batch.core.step.tasklet.TaskletStep"}
üüü  
 
Äøðè༘tP èÄ" I{"@class":"java.util.HashMap"}"
I{"@class":"java.util.HashMap"}ŽA {"@class":"java.util.HashMap","lines":["java.util.ArrayList",[{"@class":"com.baeldung.taskletsvschunks.model.Line","name":"Mae Hodges","dob":{"year":1972,"month":"OCTOBER","dayOfMonth":22,"monthValue":10,"era":["java.time.chrono.IsoEra","CE"],"dayOfWeek":"SUNDAY","dayOfYear":296,"leapYear":true,"chronology":{"id":"ISO","calendarType":"iso8601"}},"age":48},{"@class":"com.baeldung.taskletsvschunks.model.Line","name":"Gary Potter","dob":{"year":1953,"month":"FEBRUARY","dayOfMonth":22,"monthValue":2,"era":["java.time.chrono.IsoEra","CE"],"dayOfWeek":"SUNDAY","dayOfYear":53,"leapYear":false,"chronology":{"id":"ISO","calendarType":"iso8601"}},"age":67},{"@class":"com.baeldung.taskletsvschunks.model.Line","name":"Betty Wise","dob":{"year":1968,"month":"FEBRUARY","dayOfMonth":17,"monthValue":2,"era":["java.time.chrono.IsoEra","CE"],"dayOfWeek":"SATURDAY","dayOfYear":48,"leapYear":true,"chronology":{"id":"ISO","calendarType":"iso8601"}},"age":52},{"@class":"com.baeldung.taskletsvschunks.model.Line","name":"Wayne Rose","dob":{"year":1977,"month":"APRIL","dayOfMonth":6,"monthValue":4,"era":["java.time.chrono.IsoEra","CE"],"dayOfWeek":"WEDNESDAY","dayOfYear":96,"leapYear":false,"chronology":{"id":"ISO","calendarType":"iso8601"}},"age":43},{"@class":"com.baeldung.taskletsvschunks.model.Line","name":"Adam Caldwell","dob":{"year":1995,"month":"SEPTEMBER","dayOfMonth":27,"monthValue":9,"era":["java.time.chrono.IsoEra","CE"],"dayOfWeek":"WEDNESDAY","dayOfYear":270,"leapYear":false,"chronology":{"id":"ISO","calendarType":"iso8601"}},"age":25},{"@class":"com.baeldung.taskletsvschunks.model.Line","name":"Lucille Phillips","dob":{"year":1992,"month":"MAY","dayOfMonth":14,"monthValue":5,"era":["java.time.chrono.IsoEra","CE"],"dayOfWeek":"THURSDAY","dayOfYear":135,"leapYear":true,"chronology":{"id":"ISO","calendarType":"iso8601"}},"age":28}]]}"I{"@class":"java.util.HashMap"}"I{"@class":"java.util.HashMap"}"I{"@class":"java.util.HashMap"}"I{"@class":"java.util.HashMap"}{}{}{}{}
üüü
 
µ¿µ%§skippingSteppöÂÐþpöÂÑ7FAILEDFAILEDorg.springframework.batch.core.step.skip.SkipLimitExceededException: Skip limit of '2' exceeded
at org.springframework.batch.core.step.skip.LimitCheckingItemSkipPolicy.shouldSkip(LimitCheckingItemSkipPolicy.java:133)
at org.springframework.batch.core.step.skip.ExceptionClassifierSkipPolicy.shouldSkip(ExceptionClassifierSkipPolicy.java:70)
at org.springframework.batch.core.step.item.FaultTolerantChunkProcessor.shouldSkip(FaultTolerantChunkProcessor.java:503)
at org.springframework.batch.core.step.item.FaultTolerantChunkProcessor.access$500(FaultTolerantChunkProcessor.java:52)
at org.springframework.batch.core.step.item.FaultTolerantChunkProcessor$2.recover(FaultTolerantChunkProcessor.java:279)
at org.springframework.retry.support.RetryTemplate.handleRetryExhausted(RetryTemplate.java:512)
at org.springframework.retry.support.RetryTemplate.doExecute(RetryTemplate.java:351)
at org.springframework.retry.support.RetryTemplate.execute(RetryTemplate.java:211)
at org.springframework.batch.core.step.item.BatchRetryTemplate.execute(BatchRetryTemplate.java:217)
at org.springframework.batch.core.step.item.FaultTolerantChunkProcessor.transform(FaultTolerantChunkProcessor.java:298)
at org.springframework.batch.core.step.item.SimpleChunkProcessor.process(SimpleChunkProcessor.java:210)
at org.springframework.batch.core.step.item.ChunkOrientedTasklet.execute(ChunkOrientedTasklet.java:77)
at org.springframework.batch.core.step.tasklet.TaskletStep$ChunkTransactionCallback.doInTransaction(TaskletStep.java:407)
at org.springframework.batch.core.step.tasklet.TaskletStep$ChunkTransactionCallback.doInTransaction(TaskletStep.java:331)
at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140)
at org.springframework.batch.core.step.tasklet.TaskletStep$2.doInChunkContext(TaskletStep.java:273)
at org.springframework.batch.core.scope.context.StepContextRepeatCallback.doInIteration(StepContextRepeatCallback.java:82)
at org.springframework.batch.repeat.support.RepeatTemplate.getNextResult(RepeatTemplate.java:375)
at org.springframework.batch.repeat.support.RepeatTemplate.executeInternal(RepeatTemplate.java:215)
at org.springframework.batch.repeat.support.RepeatTemplate.iterate(RepeatTemplate.java:145)
at org.springframework.batch.core.step.tasklet.TaskletStep.doExecute(TaskletStep.java:258)
at org.springframework.batch.core.step.AbstractStep.execute(AbstractStep.java:208)
at org.springframework.batch.pöÂÑ8?  
step1pöÂÐ pöÂгCOMPLETEDCOMPLETEDpöÂд
ôô¹:9 
retrySteppöÂÒSTARTEDEXECUTINGpöÂÒ)§skipPolicySteppöÂÑ…pöÂÑ´FAILEDFAILEDorg.springframework.retry.RetryException: Non-skippable exception in recoverer while processing; nested exception is com.baeldung.batch.service.MissingUsernameException
at org.springframework.batch.core.step.item.FaultTolerantChunkProcessor$2.recover(FaultTolerantChunkProcessor.java:289)
at org.springframework.retry.support.RetryTemplate.handleRetryExhausted(RetryTemplate.java:512)
at org.springframework.retry.support.RetryTemplate.doExecute(RetryTemplate.java:351)
at org.springframework.retry.support.RetryTemplate.execute(RetryTemplate.java:211)
at org.springframework.batch.core.step.item.BatchRetryTemplate.execute(BatchRetryTemplate.java:217)
at org.springframework.batch.core.step.item.FaultTolerantChunkProcessor.transform(FaultTolerantChunkProcessor.java:298)
at org.springframework.batch.core.step.item.SimpleChunkProcessor.process(SimpleChunkProcessor.java:210)
at org.springframework.batch.core.step.item.ChunkOrientedTasklet.execute(ChunkOrientedTasklet.java:77)
at org.springframework.batch.core.step.tasklet.TaskletStep$ChunkTransactionCallback.doInTransaction(TaskletStep.java:407)
at org.springframework.batch.core.step.tasklet.TaskletStep$ChunkTransactionCallback.doInTransaction(TaskletStep.java:331)
at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140)
at org.springframework.batch.core.step.tasklet.TaskletStep$2.doInChunkContext(TaskletStep.java:273)
at org.springframework.batch.core.scope.context.StepContextRepeatCallback.doInIteration(StepContextRepeatCallback.java:82)
at org.springframework.batch.repeat.support.RepeatTemplate.getNextResult(RepeatTemplate.java:375)
at org.springframework.batch.repeat.support.RepeatTemplate.executeInternal(RepeatTemplate.java:215)
at org.springframework.batch.repeat.support.RepeatTemplate.iterate(RepeatTemplate.java:145)
at org.springframework.batch.core.step.tasklet.TaskletStep.doExecute(TaskletStep.java:258)
at org.springframework.batch.core.step.AbstractStep.execute(AbstractStep.java:208)
at org.springframework.batch.core.job.SimpleStepHandler.handleStep(SimpleStepHandler.java:148)
at org.springframework.batch.core.job.AbstractJob.handleStep(AbstractJob.java:410)
at org.springframework.batch.core.job.SimpleJob.doExecute(SimpleJob.java:136)
at org.springframework.batch.core.job.AbstractJob.execute(AbstractJob.java:319)
at org.springframework.batch.core.launch.support.SimpleJobLauncher$1.run(SimpleJobLauncher.java:147)
at pöÂѵ
ÍÇÍ“w
§pöÂÐÝpöÂÐåpöÂÑPFAILEDFAILEDorg.springframework.batch.core.step.skip.SkipLimitExceededException: Skip limit of '2' exceeded
at org.springframework.batch.core.step.skip.LimitCheckingItemSkipPolicy.shouldSkip(LimitCheckingItemSkipPolicy.java:133)
at org.springframework.batch.core.step.skip.ExceptionClassifierSkipPolicy.shouldSkip(ExceptionClassifierSkipPolicy.java:70)
at org.springframework.batch.core.step.item.FaultTolerantChunkProcessor.shouldSkip(FaultTolerantChunkProcessor.java:503)
at org.springframework.batch.core.step.item.FaultTolerantChunkProcessor.access$500(FaultTolerantChunkProcessor.java:52)
at org.springframework.batch.core.step.item.FaultTolerantChunkProcessor$2.recover(FaultTolerantChunkProcessor.java:279)
at org.springframework.retry.support.RetryTemplate.handleRetryExhausted(RetryTemplate.java:512)
at org.springframework.retry.support.RetryTemplate.doExecute(RetryTemplate.java:351)
at org.springframework.retry.support.RetryTemplate.execute(RetryTemplate.java:211)
at org.springframework.batch.core.step.item.BatchRetryTemplate.execute(BatchRetryTemplate.java:217)
at org.springframework.batch.core.step.item.FaultTolerantChunkProcessor.transform(FaultTolerantChunkProcessor.java:298)
at org.springframework.batch.core.step.item.SimpleChunkProcessor.process(SimpleChunkProcessor.java:210)
at org.springframework.batch.core.step.item.ChunkOrientedTasklet.execute(ChunkOrientedTasklet.java:77)
at org.springframework.batch.core.step.tasklet.TaskletStep$ChunkTransactionCallback.doInTransaction(TaskletStep.java:407)
at org.springframework.batch.core.step.tasklet.TaskletStep$ChunkTransactionCallback.doInTransaction(TaskletStep.java:331)
at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140)
at org.springframework.batch.core.step.tasklet.TaskletStep$2.doInChunkContext(TaskletStep.java:273)
at org.springframework.batch.core.scope.context.StepContextRepeatCallback.doInIteration(StepContextRepeatCallback.java:82)
at org.springframework.batch.repeat.support.RepeatTemplate.getNextResult(RepeatTemplate.java:375)
at org.springframework.batch.repeat.support.RepeatTemplate.executeInternal(RepeatTemplate.java:215)
at org.springframework.batch.repeat.support.RepeatTemplate.iterate(RepeatTemplate.java:145)
at org.springframework.batch.core.step.tasklet.TaskletStep.doExecute(TaskletStep.java:258)
at org.springframework.batch.core.step.AbstractStep.execute(AbstractStep.java:208)
at org.springframework.batch.pöÂÑQ7  
pöÂÏupöÂÏÅpöÂÐËCOMPLETEDCOMPLETEDpöÂÐÌ
×- 
pöÂÑÞpöÂÑçSTARTEDUNKNOWNpöÂÑè“w
§pöÂÑapöÂÑkpöÂÑÌFAILEDFAILEDorg.springframework.retry.RetryException: Non-skippable exception in recoverer while processing; nested exception is com.baeldung.batch.service.MissingUsernameException
at org.springframework.batch.core.step.item.FaultTolerantChunkProcessor$2.recover(FaultTolerantChunkProcessor.java:289)
at org.springframework.retry.support.RetryTemplate.handleRetryExhausted(RetryTemplate.java:512)
at org.springframework.retry.support.RetryTemplate.doExecute(RetryTemplate.java:351)
at org.springframework.retry.support.RetryTemplate.execute(RetryTemplate.java:211)
at org.springframework.batch.core.step.item.BatchRetryTemplate.execute(BatchRetryTemplate.java:217)
at org.springframework.batch.core.step.item.FaultTolerantChunkProcessor.transform(FaultTolerantChunkProcessor.java:298)
at org.springframework.batch.core.step.item.SimpleChunkProcessor.process(SimpleChunkProcessor.java:210)
at org.springframework.batch.core.step.item.ChunkOrientedTasklet.execute(ChunkOrientedTasklet.java:77)
at org.springframework.batch.core.step.tasklet.TaskletStep$ChunkTransactionCallback.doInTransaction(TaskletStep.java:407)
at org.springframework.batch.core.step.tasklet.TaskletStep$ChunkTransactionCallback.doInTransaction(TaskletStep.java:331)
at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140)
at org.springframework.batch.core.step.tasklet.TaskletStep$2.doInChunkContext(TaskletStep.java:273)
at org.springframework.batch.core.scope.context.StepContextRepeatCallback.doInIteration(StepContextRepeatCallback.java:82)
at org.springframework.batch.repeat.support.RepeatTemplate.getNextResult(RepeatTemplate.java:375)
at org.springframework.batch.repeat.support.RepeatTemplate.executeInternal(RepeatTemplate.java:215)
at org.springframework.batch.repeat.support.RepeatTemplate.iterate(RepeatTemplate.java:145)
at org.springframework.batch.core.step.tasklet.TaskletStep.doExecute(TaskletStep.java:258)
at org.springframework.batch.core.step.AbstractStep.execute(AbstractStep.java:208)
at org.springframework.batch.core.job.SimpleStepHandler.handleStep(SimpleStepHandler.java:148)
at org.springframework.batch.core.job.AbstractJob.handleStep(AbstractJob.java:410)
at org.springframework.batch.core.job.SimpleJob.doExecute(SimpleJob.java:136)
at org.springframework.batch.core.job.AbstractJob.execute(AbstractJob.java:319)
at org.springframework.batch.core.launch.support.SimpleJobLauncher$1.run(SimpleJobLauncher.java:147)
at pöÂÑÍ
zú°i"ØMÁzE

readBooks }R‡Ht}R‡JCOMPLETEDCOMPLETED}R‡JNE 
readBooks
}R‡@€}R‡E COMPLETEDCOMPLETED}R‡E²C ! 
writeLines v+k°v+kÝCOMPLETEDCOMPLETEDv+kÞE
% 
processLines v+k v+kCOMPLETEDCOMPLETEDv+kƒB  
readLines v+jgv+j«COMPLETEDCOMPLETEDv+j¬H%
processLinesv+hyv+hðCOMPLETEDCOMPLETEDv+hóE