Tôi có một yêu cầu trong đó một tasklet, lưu trữ tất cả các tệp trong các thư mục trong một arraylist. Kích thước của danh sách được lưu trữ trong ngữ cảnh thực hiện công việc. Sau đó, số này được truy cập từ một tasklet khác trong một bước khác. Làm thế nào để làm điều này. Tôi cố gắng để lưu trữ trong bối cảnh jobexecution, khi chạy ném ngoại lệ thu unmodifiable,Lưu trữ trong JobExecutionContext từ tasklet và truy cập trong một tasklet khác
public RepeatStatus execute(StepContribution arg0, ChunkContext arg1)
throws Exception {
StepContext stepContext = arg1.getStepContext();
StepExecution stepExecution = stepContext.getStepExecution();
JobExecution jobExecution = stepExecution.getJobExecution();
ExecutionContext jobContext = jobExecution.getExecutionContext();
jobContext.put("FILE_COUNT",150000);
cũng lưu trữ các tài liệu tham khảo stepexection trong beforestep chú thích .still không possioble.kindly cho tôi biết, làm thế nào để chia sẻ dữ liệu giữa hai tasklets.
cảm ơn tôi sẽ xem xét điều này. tôi muốn một giá trị trong jobexecutioncontext được trích xuất từ bean JobExecutionDecider –
@MichaelLange: Tại sao mã Suresh gốc lại ném một ngoại lệ? Có vẻ ngữ nghĩa giống như đoạn mã bạn đã cung cấp. –
nó cũng nên làm việc, tôi chỉ đoán ông đã sử dụng 'chunkContext.getStepContext(). GetJobExecutionContext(). Put (...)' trước, điều này sẽ ném ngoại lệ unmodifiable –