0

I am about 3 days into my experience with this tool. Everything was going great, I have a file with 3 record definitions (header, data, trailer) and am using an InputValueSwitch with 3 beanListProcessors.

The data object has about 40 properties all String except for 1, Date of Birth is defined as a date with a @Format annotation. With patientDateOfBirth defined as a Date I can process 34K rows in a couple of seconds, which is very acceptable.

@Parsed(field = "patientDateOfBirth")
@FixedWidth(from = 148, to = 158)
@Format(formats = {"yyyy-MM-dd"}, options = "lenient=false")
private Date patientDateOfBirth;

But, if I change the data type from Date to String the processing time increases to about 5 minutes for the same 34K rows, which does not make sense to me. Does this ring any bells for anyone?

@Parsed(field = "patientDateOfBirth")
@FixedWidth(from = 148, to = 158)
@Validate(allowBlanks = true)
private String patientDateOfBirth;
Big D.
  • 131
  • 1
  • 4
  • Are you sure both the lenient option and the validate option have nothing do to with it? – Michele Dorigatti Dec 03 '19 at 21:07
  • The 'lenient' option is on the version that is 'fast', so I think that is ok. I just tested removing the @Validate form the 'String' version of the code and it had no effect on speed. – Big D. Dec 03 '19 at 21:14
  • I think you have to use profiler to figure it out. If the time increases from second to 5 min you will have plenty of data to see where is the bottleneck. – Karol Dowbecki Dec 03 '19 at 21:17

0 Answers0