easy-batch v5.3.0 Release Notes
Release Date: 2020-01-14 // about 5 years ago-
๐ This is a minor release which is the last release of the v5.x line. Here are the major changes:
๐ New features
- Issue #333: Add Header/Footer callbacks in
FileRecordWriter
- ๐ง Issue #350: Add configurable
JobReportFormatter
inJobReportEmailSender
โจ Enhancements
- ๐ฒ Issue #315: Replace Java Util Logging with SLF4J
- Issue #320: Error Threshold - Zero Errors
- ๐ Issue #338: Inefficient
JobMetrics
merge loops inDefaultJobReportMerger
- Issue #317: Unused
XMLStreamException
๐ Bug fixes
- Issue #349: Incorrect writeCount when the transaction in
HibernateRecordWriter
is rolled back - Issue #348: Incorrect writeCount when the transaction in
JpaRecordWriter
is rolled back - Issue #347: Incorrect writeCount when the transaction in
JdbcRecordWriter
is rolled back - Issue #314: Error while setting a date (
java.util.Date
) field inJdbcRecordWriter
- ๐ Issue #345:
HtmlJobReportFormatter
should not generate apache velocity logs - Issue #337:
XmlRecordReader
throws aClassCastException
when reading a comment line - Issue #319: Excel reader Skipping Empty Columns
๐ Deprecations
For removal
- ๐
org.easybatch.xml.XmlWrapperTagWriter
is deprecated in v5.3 and will be removed in v6 - ๐
org.easybatch.tools.monitoring.CliJobMonitoringListener
,org.easybatch.tools.reporting.HtmlJobReportFormatter
andorg.easybatch.tools.reporting.JobReportEmailSender
are deprecated in v5.3 and will be removed in v6. The entireeasybatch-tools
module will be removed - ๐ Quartz support is deprecated in v5.3 and will be removed in v6. All classes in
easybatch-quartz
module are deprecated and the entire module will be removed in v6 - ๐ MongoDB support will be removed in v6. Please note that this decision has been made after releasing v5.3, hence you will not find any
@Deprecated
annotation on classes of this module in the v5.3 release. - ๐
org.easybatch.jms.JmsPoisonMessage
,org.easybatch.jms.JmsPoisonRecord
,org.easybatch.jms.JmsPoisonRecordBroadcaster
andorg.easybatch.jms.JmsPoisonRecordFilter
are deprecated in v5.3 and will be removed in v6. TheJmsRecordReader
will returnnull
based on a timeout and not aJmsPoisonMessage
. - ๐
org.easybatch.core.record.PoisonRecord
,org.easybatch.core.listener.PoisonRecordBroadcaster
andorg.easybatch.core.filter.PoisonRecordFilter
are deprecated in v5.3 and will be removed in v6. Theorg.jeasy.batch.core.reader.BlockingQueueRecordReader
will returnnull
based on a timeout and not aPoisonRecord
- ๐ The constructor
org.jeasy.batch.core.reader.BlockingQueueRecordReader#BlockingQueueRecordReader(java.util.concurrent.BlockingQueue<org.jeasy.batch.core.record.Record>, int)
will be removed in v6. Please note that this constructor was not marked with@Deprecated
in v5.3 by mistake. - ๐ The constructor
BlockingQueueRecordWriter(final List<BlockingQueue<Record>>
will be removed in v6 as this writer will operate on a single blocking queue. - ๐
org.easybatch.core.listener.RecordProcessingTimeListener
is deprecated in v5.3 and will be removed in v6 - ๐
org.easybatch.core.filter.RecordNumberBetweenFilter
,org.easybatch.core.filter.RecordNumberEqualToFilter
,org.easybatch.core.filter.RecordNumberGreaterThanFilter
andorg.easybatch.core.filter.RecordNumberLowerThanFilter
are deprecated in v5.3 and will be removed in v6 - ๐
JobReportFormatter
andDefaultJobReportFormatter
are deprecated in v5.3 and will be removed in v6
With replacement
- ๐
org.easybatch.core.filter.FilteredRecordsSavingRecordFilter
is deprecated in v5.3 and will be removed in v6. Use the neworg.easybatch.core.filter.FilteredRecordsCollector
instead - ๐
org.easybatch.core.filter.StartWithStringRecordFilter
is deprecated in v5.3 and will be removed in v6. Useorg.easybatch.core.filter.StartsWithStringRecordFilter
instead - ๐
org.easybatch.core.filter.EmptyRecordFilter
is deprecated in v5.3 and will be removed in v6. Useorg.easybatch.core.filter.EmptyStringRecordFilter
instead - ๐
org.easybatch.core.filter.EndWithStringRecordFilter
is deprecated in v5.3 and will be removed in v6. Useorg.easybatch.core.filter.EndsWithStringRecordFilter
instead - ๐ Usages of
java.util.date
(namely inHeader
class) are deprecated and will be replaced withjava.time.LocalDateTime
starting from v6 - ๐ Usages of
java.io.File
(namely in constrcutors of all file based record readers/writers) are deprecated and will be replaced withjava.nio.file.Path
starting from v6 - ๐
PayloadExtractor
is deprecated in v5.3 and will be removed in v6. UseUtils#extractPayloads
instead - ๐ The constructor
org.jeasy.batch.extensions.yaml.YamlRecordReader#YamlRecordReader(java.io.InputStream, java.lang.String)
will be replaced with one that takes ajava.nio.charset.Charset
instead of a String for the charset name. Please note that this constructor was not marked with@Deprecated
in v5.3 by mistake. - ๐ The constructor
org.jeasy.batch.json.JsonRecordReader#JsonRecordReader(java.io.InputStream, java.lang.String)
will be replaced with one that takes ajava.nio.charset.Charset
instead of a String for the charset name. Please note that this constructor was not marked with@Deprecated
in v5.3 by mistake.
๐ For more details about deprecations and replacements, please refer to the Javadocs.
What's next?
โก๏ธ The next version will be v6 and will be based on Java 8. The root package name will be updated from
org.easybatch
toorg.jeasy.batch
for consistency with other Jeasy projects. Artifact IDs will also change to match the same naming pattern as other projects.โ I would like to thank all contributors (@anarayn, @MALPI , @jcamiloradamesa , @IvanAtanasov, @sheikhu, @vian42, @verdi8 and @psoares-resilient) for submitting bug reports, testing fixes and contributing to the project with awesome PRs!
- Issue #333: Add Header/Footer callbacks in