Easy Batch Versions Save

The simple, stupid batch framework for Java

easybatch-5.0.0-RC2

7 years ago

New features

  • issue #243 : add OpenCsvRecordMarshaller
  • issue #242 : add XmlRecordValidator
  • issue #241 : add option to activate/deactivate recursivity in FileRecordReader

Bug fixes

  • issue #238 : FlatFileRecordReader should not throw a FileNotFoundException at construction time

Enhancements and API changes

  • issue #236 : add constructor with java.nio.file.Path in FileRecordReader
  • issue #239 : add constructor with java.nio.file.Path in FileRecordWriter
  • issue #240 : add constructor with java.nio.file.Path in FlatFileRecordReader
  • issue #244 : ApacheCommonCsvRecord is redundant
  • issue #245 : ApacheCommonCsvRecordReader is redundant
  • issue #246 : ApacheCommonCsvRecordMapper should be configurable with field names

easybatch-5.0.0-RC1

7 years ago

Major changes

  • issue #211 : Inconsistent Batch API
  • issue #233 : Inconsistent RecordReader API
  • issue #223 : Inconsistent RecordWriter API
  • issue #227 : Inconsistent RecordDispatcher API
  • issue #221 : Resource management should be handled by the framework
  • issue #222 : Transaction management should be handled by the framework
  • issue #230 : JobExecutor should use an ExecutorService
  • issue #220 : Adapt listeners to batch processing workflow

New features

  • issue #224 : Add RetryableRecordReader
  • issue #225 : Add RetryableRecordWriter
  • issue #226 : Add CompositeRecordWriter

Enhancements

  • issue #234 : RecordFieldExtractor is poorly named
  • issue #235 : BeanRecordFieldExtractor is poorly named

Fixed bugs

  • issue #170 : Unable to determine number of filtered record from batch
  • issue #204 : Unnecessary generic type in BeanValidationRecordValidator
  • issue #209 : Unnecessary generic type in BlockingQueueRecordReader / BlockingQueueRecordWriter
  • issue #228 : Job executionId is not coherent
  • issue #229 : Job name is not a parameter
  • issue #231 : JobStatus.ABORTED is redundant
  • issue #232 : Possible resource leak in XmlWrapperTagWriter

easybatch-4.2.0

7 years ago

New Features

  • issue #205 : Add BeanPropertiesPreparedStatementProvider
  • issue #208 : add StandardErrorRecordWriter
  • issue #214 : Replace "strict mode" parameter with "error threshold"

Bug Fixes

  • issue #202 : Incorrect duration when unable to open the record reader
  • issue #203 : Incorrect data source when unable to open the record reader
  • issue #206 : Incoherent log message when filtering a batch of records
  • issue #207 : Incorrect log message when unable to process a batch of records
  • issue #210 : java.rmi.UnmarshalException when using the JobMonitorProxy

Deprecations

  • issue #212 : "skip" parameter is redundant
  • issue #213 : "silent mode" parameter is redundant
  • issue #215 : "limit" parameter is redundant
  • issue #216 : Job timeout should be handled by the executor
  • issue #217 : Inappropriate "call" method in JobBuilder API
  • issue #218 : Rename "jmx mode" parameter into "jmx monitoring" deprecation
  • issue #219 : deprecate the ComputationalRecordProcessor API

easybatch-4.1.0

7 years ago

New Features

  • issue #123: Add support for MS Excel format using Apache POI
  • issue #168: Add last error in job report
  • issue #171: Add support to trim whitespace for FixedLengthRecordMapper
  • issue #175: Add retry on failure for the record reader
  • issue #187: Add host name to job report
  • issue #196: Add JMX monitoring push notifications
  • issue #198: BlockingQueueRecordReader should be configurable with the number of poison records received

Fixed bugs

  • Issue #169: When Reader fails Job Listeners are not being invoked
  • Issue #191: NumberFormatException in IntegerTypeConverter

Enhancements and API changes

  • issue #186: inconsistent BlockingQueue record reader/writer APIs
  • issue #190: JobMonitor should not be public
  • issue #193: Data source name of blocking queue is too long
  • issue #194: Improve JUL log record format
  • issue #195: Not appropriate JobReportMerger and DefaultJobReportMerger API package
  • issue #199: Add utility method to check if a record is a poison record

easybatch-4.0.0

8 years ago

Major changes

  • issue #136 : Redesign the workflow into a consistent pipeline
  • issue #160 : Improve workflow consistency
  • issue #137 : Unify Handlers and Listeners
  • issue #142 : Introduce JobParameters and JobMetrics
  • issue #141 : Rename Engine to Job
  • issue #154 : Rename MultiRecord to Batch
  • issue #148 : Migrate to Java 7

Features

  • issue #162 : Add PayloadExtractor
  • issue #157 : Add BatchProcessor
  • issue #156 : Add BatchValidator
  • issue #153 : Add BatchFilter
  • issue #152 : Add BatchMapper
  • issue #151 : Add BatchMarshaller
  • issue #131 : Add JpaBatchWriter
  • issue #130 : Add HibernateBatchWriter
  • issue #161 : Add JmsPoisonMessageBroadcaster
  • issue #158 : Add JmsRecord dispatchers
  • issue #147 : Add JMS queue/connection listeners
  • issue #144 : Add FAILED job status
  • issue #143 : Add JobExecutor
  • issue #133 : Add RecordProcessingTimeListener
  • issue #132 : Add "timeout" parameter
  • issue #129 : Add "keep alive" parameter
  • issue #120 : Add EmptyRecordFilter
  • issue #159 : Add method to register a record dispatcher in the job builder API
  • issue #138 : Add method to register a record marshaller in the job builder API
  • issue #135 : Add BlockingQueueRecordWriter

Enhancements

  • issue #150 : Use varargs instead of arrays in mapper constructor
  • issue #155 : Rename JmsRecordWriter to JmsQueueRecordWriter
  • issue #149 : Rename JmsRecordReader to JmsQueueRecordReader
  • issue #146 : Rename CliRecordReader to StandardInputRecordReader
  • issue #145 : Rename QueueRecordReader to BlockingQueueRecordReader
  • issue #140 : Remove ListRecordReader, deprecated in V3.0
  • issue #139 : Remove commit-interval from transaction listeners
  • issue #134 : Remove redundant generic type declaration in ObjectMapper

Bug fixes

  • issue #126 : ApacheCommonsCsv prints a header for each line
  • issue #125 : Skipped records are not calculated in the merged report

easybatch-3.1.0

8 years ago
  • Added the "skip" parameter (issue #77)
  • Added the "limit" parameter (issue #78)
  • Added record writers: OutputStream (issue #79), JPA (issue #80), MongoDB (issue #82), JDBC (issue #83), JMS (issue #85), Collection (issue #106), String (issue #109)
  • Added Hibernate support: new HibernateRecordReader and HibernateRecordWriter APIs (issue #81)
  • Added XmlRecordCompactor and JsonRecordCompactor to flatten hierarchical data (issue #86)
  • Added IterableRecordReader and deprecated ListRecordReader (issue #88)
  • Added RecordCollector (issue #89)
  • Added record marshallers: Xstream (issue #94), Xml (issue #95), Delimited (issue #96), FixedLength (issue #97), ApacheCommonCsv (issue #98), Gson (issue #99), Jackson (issue #100)
  • Added multi-record readers to support chunk processing (issue #87): Flat files, Iterable, String, File, Xml, Json, JPA, Apache Common Csv, Hibernate, MongoDB
  • Added multi-record writers: Collection (issue #110), File (issue #111), OutputStream (issue #112), StandardOutput (issue #113), String (issue #115), JDBC (issue #116)
  • Added GenericMultiRecordMapper (issue #101)
  • Implemented improvement #91: Add system properties to the execution report
  • Implemented improvement #93: Make the JpaRecordReader stream records
  • Implemented improvement #103: Make the ObjectMapper properly handle empty values
  • Implemented improvement #119: Use CSVFormat null recordSeparator to skip new line creation
  • Merged PR #117: Add RecordFieldExtractor
  • Merged PR #118: Add lineSeparator parameter to OutputStreamRecordWriter