59
Last modified by Erik Bakker on 2023/01/23 13:57
Large update moving most of the eMagiz runtime stack to the latest versions of open source projects, libraries and technologies. These updates contain many improvements, fixes and performance wins. This also brings the eMagiz Gen2 (OSGi-based) runtime stack to the same versions as the eMagiz Gen3 (Docker-based) runtime stack, making the step from Gen2 to Gen3 for future migrations much smaller.
New Features
- Updated the message broker to the latest version, bringing many improvements and new features. This resulted in the following changes to the 'Apache ActiveMQ Artemis server' support object:
- [Server] New setting 'authentication cache size'
- [Server] New setting 'authorization cache size'
- [Server] New setting 'read whole page'
- [Server] New setting 'address queue scan period'
- [Server] New setting 'journal device block size'
- [Server] New setting 'reject empty validated user'
- [Server] New setting 'page sync timeout'
- [Server] New setting 'temporary queue namespace'
- [Server] New setting 'journal max attic files'
- [Cluster connection] New option 'off with redistribution' for setting 'message load balancing type'
- [Replication] New setting 'quorum vote wait'
- [Replication] New setting 'retry replication wait'
- [In-VM acceptor] New setting 'direct deliver'
- [Netty acceptor] New setting 'scheme'
- [Netty acceptor] Replaced setting 'STOMP consumer credits' with 'STOMP consumer window size'
- [Netty acceptor] New setting 'disable STOMP server header'
- [Netty acceptor] New setting 'shutdown timeout'
- [Netty acceptor] New setting 'quiet period'
- [Netty acceptor] New setting 'SNI host'
- [Netty acceptor] New setting 'keystore type'
- [Netty acceptor] New setting 'truststore type'
- [Netty connector] New setting 'keystore type'
- [Netty connector] New setting 'truststore type'
- [Address settings] New setting 'auto delete created queues'
- [Address settings] New setting 'auto delete queues delay'
- [Address settings] New setting 'auto delete queues message count'
- [Address settings] New setting 'auto delete addresses delay'
- [Address settings] New setting 'delete diverts on restart'
- [Address settings] New setting 'default consumers before dispatch'
- [Address settings] New setting 'default delay before dispatch'
- [Address settings] New setting 'default last value key'
- [Address settings] New setting 'default non-destructive'
- [Address settings] Setting 'page size bytes' changed from long to integer
- [Address settings] New setting 'redelivery collision avoidance factor'
- [Address settings] New setting 'auto create expiry resources'
- [Address settings] New setting 'expiry queue prefix'
- [Address settings] New setting 'expiry queue suffix'
- [Address settings] New setting 'min expiry delay'
- [Address settings] New setting 'max expiry delay'
- [Address settings] New setting 'auto create dead letter resources'
- [Address settings] New setting 'dead letter queue prefix'
- [Address settings] New setting 'dead letter queue suffix'
- [Address settings] New setting 'slow consumer threshold measurement unit'
- [Address settings] New setting 'default consumer window size'
- [Address settings] New setting 'default group rebalance'
- [Address settings] New setting 'default group rebalance pause dispatch'
- [Address settings] New setting 'default group buckets'
- [Address settings] New setting 'default group first key'
- [Address settings] New setting 'default ring size'
- [Address settings] New setting 'retroactive message count'
- [Address settings] New setting 'enable metrics'
- [Address settings] New setting 'management message attribute size limit'
- [Address settings] New setting 'enable ingress timestamp'
- Changes to other flow components:
- New setting 'async' for component 'TCP outbound gateway'
- New setting 'extract response body' for component 'HTTP outbound gateway'
- New setting 'flush expression' for component 'Kafka outbound channel adapter'
- New setting 'proxy default methods' for component 'ActiveMQ security manager gateway'
- New setting 'proxy default methods' for component 'Job execution listener gateway'
- New setting 'proxy default methods' for component 'Mapping service gateway'
- New setting 'proxy default methods' for component 'Step execution listener gateway'
- New setting 'proxy default methods' for component 'XSLT extension gateway'
- Replaced enum options 'BASIC' and 'POST' with 'Client secret basic' and 'Client secret post' for setting 'client authentication method' of component 'OAuth2 authorization interceptor'
- Replaced setting 'encode URI' of component 'HTTP outbound channel adapter' with new setting 'encoding mode'
- Replaced setting 'encode URI' of component 'HTTP outbound gateway' with new setting 'encoding mode'
- Replaced setting 'encode URI' of component 'Web service outbound gateway' with new setting 'encoding mode'
- Removed enum option 'use_default' for setting 'client DNS lookup' of 'Kafka message listener container' support object
- Removed enum option 'use_default' for setting 'client DNS lookup' of 'Kafka template' support object
- Removed 'JMS listener container' support object
- Removed 'Management' support object
- Removed 'Web service message listener' support object
Minor Changes
- Added bundle 'com.emagiz.bundles.spring-security-crypto' 5.6.0.1
- Updated bundle 'com.emagiz.batch.aws-redshift' from 2.0.0 to 2.1.0
- Updated bundle 'com.emagiz.batch.azure-eventhubs' from 2.0.0 to 2.1.0
- Updated bundle 'com.emagiz.batch.core' from 2.0.0 to 2.1.0
- Updated bundle 'com.emagiz.batch.file' from 2.0.0 to 2.1.0
- Updated bundle 'com.emagiz.batch.http' from 2.0.0 to 2.1.0
- Updated bundle 'com.emagiz.batch.jdbc' from 2.0.0 to 2.1.0
- Updated bundle 'com.emagiz.bundles.artemis-amqp-protocol' from 2.19.0.1 to 2.19.1.1
- Updated bundle 'com.emagiz.bundles.artemis-hornetq-protocol' from 2.19.0.1 to 2.19.1.1
- Updated bundle 'com.emagiz.bundles.artemis-hqclient-protocol' from 2.19.0.1 to 2.19.1.1
- Updated bundle 'com.emagiz.bundles.artemis-mqtt-protocol' from 2.19.0.1 to 2.19.1.1
- Updated bundle 'com.emagiz.bundles.artemis-quorum-api' from 2.19.0.1 to 2.19.1.1
- Updated bundle 'com.emagiz.bundles.artemis-server-osgi' from 2.19.0.1 to 2.19.1.1
- Updated bundle 'com.emagiz.bundles.artemis-stomp-protocol' from 2.19.0.1 to 2.19.1.1
- Updated bundle 'com.emagiz.bundles.asm' from 5.2.1 to 9.1.1
- Updated bundle 'com.emagiz.bundles.aws-java-sdk-all' from 1.11.720.1 to 1.11.1033.1
- Updated bundle 'com.emagiz.bundles.batik' from 1.12.1 to 1.14.1
- Updated bundle 'com.emagiz.bundles.ehcache' from 2.10.6.1 to 2.10.9.2_1
- Updated bundle 'com.emagiz.bundles.fasterxml-jackson-core' from 2.10.2.1 to 2.13.0.1
- Updated bundle 'com.emagiz.bundles.fop' from 2.4.0.1 to 2.6.0.1
- Updated bundle 'com.emagiz.bundles.groovy-all' from 2.5.13.1 to 3.0.9.1
- Updated bundle 'com.emagiz.bundles.h2' from 1.4.199.1 to 1.4.200.1
- Updated bundle 'com.emagiz.bundles.httpcomponents-client' from 4.5.11.1 to 4.5.13.1
- Updated bundle 'com.emagiz.bundles.httpcomponents-core' from 4.4.13.1 to 4.4.14.1
- Updated bundle 'com.emagiz.bundles.jackson-databind' from 2.10.2.1 to 2.13.0.1
- Updated bundle 'com.emagiz.bundles.javax-servlet' from 3.1.0.1 to 4.0.1.1
- Updated bundle 'com.emagiz.bundles.jetty-continuation' from 9.4.26.1 to 9.4.44.1
- Updated bundle 'com.emagiz.bundles.jetty-http' from 9.4.26.1 to 9.4.44.1
- Updated bundle 'com.emagiz.bundles.jetty-io' from 9.4.26.1 to 9.4.44.1
- Updated bundle 'com.emagiz.bundles.jetty-security' from 9.4.26.1 to 9.4.44.1
- Updated bundle 'com.emagiz.bundles.jetty-server' from 9.4.26.1 to 9.4.44.1
- Updated bundle 'com.emagiz.bundles.jetty-servlet' from 9.4.26.1 to 9.4.44.1
- Updated bundle 'com.emagiz.bundles.jetty-util' from 9.4.26.1 to 9.4.44.1
- Updated bundle 'com.emagiz.bundles.kafka-clients' from 2.4.0.2 to 3.0.0.2
- Updated bundle 'com.emagiz.bundles.kafka-streams' from 2.4.0.1 to 3.0.0.1
- Updated bundle 'com.emagiz.bundles.micrometer-core' from 1.3.5.1 to 1.8.0.1
- Updated bundle 'com.emagiz.bundles.minidev-json' from 2.3.1 to 2.4.7.1
- Updated bundle 'com.emagiz.bundles.netty-buffer' from 4.1.70.1 to 4.1.73.1
- Updated bundle 'com.emagiz.bundles.netty-codec' from 4.1.70.1 to 4.1.73.1
- Updated bundle 'com.emagiz.bundles.netty-codec-http' from 4.1.70.1 to 4.1.73.1
- Updated bundle 'com.emagiz.bundles.netty-codec-mqtt' from 4.1.70.1 to 4.1.73.1
- Updated bundle 'com.emagiz.bundles.netty-codec-socks' from 4.1.70.1 to 4.1.73.1
- Updated bundle 'com.emagiz.bundles.netty-common' from 4.1.70.1 to 4.1.73.1
- Updated bundle 'com.emagiz.bundles.netty-handler' from 4.1.70.1 to 4.1.73.1
- Updated bundle 'com.emagiz.bundles.netty-handler-proxy' from 4.1.70.1 to 4.1.73.1
- Updated bundle 'com.emagiz.bundles.netty-resolver' from 4.1.70.1 to 4.1.73.1
- Updated bundle 'com.emagiz.bundles.netty-transport' from 4.1.70.1 to 4.1.73.1
- Updated bundle 'com.emagiz.bundles.netty-transport-classes-epoll' from 4.1.70.1 to 4.1.73.1
- Updated bundle 'com.emagiz.bundles.netty-transport-classes-kqueue' from 4.1.70.1 to 4.1.73.1
- Updated bundle 'com.emagiz.bundles.netty-transport-native-epoll' from 4.1.70.1 to 4.1.73.1
- Updated bundle 'com.emagiz.bundles.netty-transport-native-kqueue' from 4.1.70.1 to 4.1.73.1
- Updated bundle 'com.emagiz.bundles.netty-transport-native-unix-common' from 4.1.70.1 to 4.1.73.1
- Updated bundle 'com.emagiz.bundles.nimbus-jose-jwt' from 8.20.1.1 to 9.10.1.1
- Updated bundle 'com.emagiz.bundles.opensaml' from 3.4.3.1 to 3.4.6.1
- Updated bundle 'com.emagiz.bundles.proton-j' from 0.33.5.1 to 0.33.10.1
- Updated bundle 'com.emagiz.bundles.reactor-core' from 3.3.2.1 to 3.4.12.1
- Updated bundle 'com.emagiz.bundles.s3-stream-upload' from 2.1.0.1 to 2.2.2.1
- Updated bundle 'com.emagiz.bundles.saxon' from 10.1.0.1 to 10.6.0.1
- Updated bundle 'com.emagiz.bundles.spring-aop' from 5.2.3.1 to 5.3.13.1
- Updated bundle 'com.emagiz.bundles.spring-batch-core' from 4.2.1.1 to 4.3.4.1
- Updated bundle 'com.emagiz.bundles.spring-batch-infrastructure' from 4.2.1.1 to 4.3.4.1
- Updated bundle 'com.emagiz.bundles.spring-batch-integration' from 4.2.1.1 to 4.3.4.1
- Updated bundle 'com.emagiz.bundles.spring-beans' from 5.2.3.1 to 5.3.13.1
- Updated bundle 'com.emagiz.bundles.spring-context' from 5.2.3.1 to 5.3.13.1
- Updated bundle 'com.emagiz.bundles.spring-context-support' from 5.2.3.1 to 5.3.13.1
- Updated bundle 'com.emagiz.bundles.spring-core' from 5.2.3.1 to 5.3.13.1
- Updated bundle 'com.emagiz.bundles.spring-expression' from 5.2.3.1 to 5.3.13.1
- Updated bundle 'com.emagiz.bundles.spring-integration-core' from 5.2.3.1 to 5.5.6.1
- Updated bundle 'com.emagiz.bundles.spring-integration-file' from 5.2.3.1 to 5.5.6.1
- Updated bundle 'com.emagiz.bundles.spring-integration-ftp' from 5.2.3.1 to 5.5.6.1
- Updated bundle 'com.emagiz.bundles.spring-integration-groovy' from 5.2.3.1 to 5.5.6.1
- Updated bundle 'com.emagiz.bundles.spring-integration-http' from 5.2.3.1 to 5.5.6.1
- Updated bundle 'com.emagiz.bundles.spring-integration-ip' from 5.2.3.1 to 5.5.6.1
- Updated bundle 'com.emagiz.bundles.spring-integration-jdbc' from 5.2.3.1 to 5.5.6.1
- Updated bundle 'com.emagiz.bundles.spring-integration-jms' from 5.2.3.1 to 5.5.6.1
- Updated bundle 'com.emagiz.bundles.spring-integration-jmx' from 5.2.3.1 to 5.5.6.1
- Updated bundle 'com.emagiz.bundles.spring-integration-kafka' from 3.2.1.1 to 5.5.6.1
- Updated bundle 'com.emagiz.bundles.spring-integration-mail' from 5.2.3.1 to 5.5.6.1
- Updated bundle 'com.emagiz.bundles.spring-integration-scripting' from 5.2.3.1 to 5.5.6.1
- Updated bundle 'com.emagiz.bundles.spring-integration-security' from 5.2.3.1 to 5.5.6.1
- Updated bundle 'com.emagiz.bundles.spring-integration-sftp' from 5.2.3.1 to 5.5.6.1
- Updated bundle 'com.emagiz.bundles.spring-integration-ws' from 5.2.3.1 to 5.5.6.1
- Updated bundle 'com.emagiz.bundles.spring-integration-xml' from 5.2.3.1 to 5.5.6.1
- Updated bundle 'com.emagiz.bundles.spring-jdbc' from 5.2.3.1 to 5.3.13.1
- Updated bundle 'com.emagiz.bundles.spring-jms' from 5.2.3.1 to 5.3.13.1
- Updated bundle 'com.emagiz.bundles.spring-kafka' from 2.4.1.1 to 2.8.0.1
- Updated bundle 'com.emagiz.bundles.spring-messaging' from 5.2.3.1 to 5.3.13.1
- Updated bundle 'com.emagiz.bundles.spring-oxm' from 5.2.3.1 to 5.3.13.1
- Updated bundle 'com.emagiz.bundles.spring-retry' from 1.2.5.1 to 1.3.1.1
- Updated bundle 'com.emagiz.bundles.spring-security-config' from 5.3.9.1 to 5.6.0.1
- Updated bundle 'com.emagiz.bundles.spring-security-core' from 5.3.9.1 to 5.6.0.1
- Updated bundle 'com.emagiz.bundles.spring-security-oauth2-client' from 5.3.9.1 to 5.6.0.1
- Updated bundle 'com.emagiz.bundles.spring-security-oauth2-core' from 5.3.9.1 to 5.6.0.1
- Updated bundle 'com.emagiz.bundles.spring-security-oauth2-jose' from 5.3.9.1 to 5.6.0.1
- Updated bundle 'com.emagiz.bundles.spring-security-oauth2-resource-server' from 5.3.9.1 to 5.6.0.1
- Updated bundle 'com.emagiz.bundles.spring-security-web' from 5.3.9.1 to 5.6.0.1
- Updated bundle 'com.emagiz.bundles.spring-tx' from 5.2.3.1 to 5.3.13.1
- Updated bundle 'com.emagiz.bundles.spring-web' from 5.2.3.1 to 5.3.13.1
- Updated bundle 'com.emagiz.bundles.spring-webmvc' from 5.2.3.1 to 5.3.13.1
- Updated bundle 'com.emagiz.bundles.spring-ws-core' from 3.0.8.2 to 3.1.1.1
- Updated bundle 'com.emagiz.bundles.spring-ws-support' from 3.0.8.2 to 3.1.1.1
- Updated bundle 'com.emagiz.bundles.spring-xml' from 3.0.8.2 to 3.1.1.1
- Updated bundle 'com.emagiz.bundles.xom' from 1.2.10.1 to 1.3.7.1
- Updated bundle 'com.emagiz.components.artemis' from 2.0.1 to 2.2.1
- Updated bundle 'com.emagiz.components.batch' from 6.0.0 to 6.1.0
- Updated bundle 'com.emagiz.components.commandexecution' from 4.0.0 to 4.1.0
- Updated bundle 'com.emagiz.components.control' from 8.0.0 to 8.1.0
- Updated bundle 'com.emagiz.components.debug' from 3.0.0 to 3.1.0
- Updated bundle 'com.emagiz.components.ehcache' from 6.0.0 to 6.1.0
- Updated bundle 'com.emagiz.components.error' from 7.1.0 to 7.2.0
- Updated bundle 'com.emagiz.components.file' from 6.0.0 to 6.1.0
- Updated bundle 'com.emagiz.components.ftp' from 6.0.1 to 6.1.1
- Updated bundle 'com.emagiz.components.http' from 7.1.1 to 7.2.1
- Updated bundle 'com.emagiz.components.jdbc' from 6.0.0 to 6.1.0
- Updated bundle 'com.emagiz.components.jms' from 6.0.0 to 6.1.0
- Updated bundle 'com.emagiz.components.jmx' from 7.0.0 to 7.1.0
- Updated bundle 'com.emagiz.components.json' from 6.0.0 to 6.1.0
- Updated bundle 'com.emagiz.components.kafka' from 2.0.1 to 2.1.1
- Updated bundle 'com.emagiz.components.logging' from 7.0.0 to 7.1.0
- Updated bundle 'com.emagiz.components.mail' from 6.0.0 to 6.1.0
- Updated bundle 'com.emagiz.components.mapping' from 7.0.0 to 7.1.0
- Updated bundle 'com.emagiz.components.mikrotik' from 6.0.0 to 6.1.0
- Updated bundle 'com.emagiz.components.monitoring' from 7.0.0 to 7.1.0
- Updated bundle 'com.emagiz.components.odata' from 1.1.0 to 1.3.0
- Updated bundle 'com.emagiz.components.qpid' from 2.0.1 to 2.1.0
- Updated bundle 'com.emagiz.components.security' from 7.0.1 to 7.1.1
- Updated bundle 'com.emagiz.components.sftp' from 6.0.0 to 6.1.0
- Updated bundle 'com.emagiz.components.staxon' from 1.1.0 to 1.2.0
- Updated bundle 'com.emagiz.components.tcp' from 6.0.0 to 6.1.0
- Updated bundle 'com.emagiz.components.thclient' from 6.0.0 to 6.1.0
- Updated bundle 'com.emagiz.components.tracking' from 7.0.0 to 7.1.0
- Updated bundle 'com.emagiz.components.ws' from 6.0.0 to 6.1.0
- Updated bundle 'com.emagiz.components.wssec' from 2.0.0 to 2.1.0
- Updated bundle 'com.emagiz.components.xml' from 6.0.0 to 6.1.0
- Updated bundle 'com.emagiz.components.xslfo' from 6.0.0 to 6.1.0
- Updated bundle 'com.emagiz.osgi.extender-batch' from 6.0.0 to 6.1.0
- Updated bundle 'com.emagiz.osgi.extender-commandexecution' from 6.0.0 to 6.1.0
- Updated bundle 'com.emagiz.osgi.extender.core' from 6.0.0 to 6.1.0
- Updated bundle 'com.emagiz.osgi.extender.core-web' from 1.0.0 to 1.1.0
- Updated bundle 'com.emagiz.osgi.extender.jms' from 2.0.1 to 2.1.1
- Updated bundle 'com.emagiz.osgi.extender-mapping' from 6.0.0 to 6.1.0
- Updated bundle 'com.emagiz.osgi.extender.security' from 1.0.0 to 1.1.0
- Updated bundle 'com.emagiz.osgi.extender.staxon' from 1.0.0 to 1.1.0
- Updated bundle 'com.emagiz.osgi.extender.unittest' from 2.0.0 to 2.1.0
- Updated bundle 'com.emagiz.osgi.extender.xml' from 6.0.0 to 6.1.0
- Updated bundle 'com.emagiz.util.codec' from 6.0.0 to 6.1.0
- Updated bundle 'com.emagiz.util.xml' from 5.0.0 to 5.1.0
- Updated bundle 'com.fasterxml.jackson.core.jackson-annotations' from 2.10.2 to 2.13.0
- Updated bundle 'com.sun.jna' from 5.5.0 to 5.10.0
- Updated bundle 'io.dropwizard.metrics.core' from 4.1.5 to 4.2.4
- Updated bundle 'joda-time' from 2.10.5 to 2.10.13
- Updated bundle 'org.apache.commons.commons-codec' from 1.13.0 to 1.15.0
- Updated bundle 'org.apache.santuario.xmlsec' from 2.1.4 to 2.3.0
- Updated bundle 'org.apache.servicemix.bundles.xmlgraphics-commons' from 2.4.0.1 to 2.6.0.1
- Updated bundle 'org.apache.wss4j.wss4j-ws-security-common' from 2.2.2 to 2.4.0
- Updated bundle 'org.apache.wss4j.wss4j-ws-security-dom' from 2.2.2 to 2.4.0
- Updated bundle 'org.locationtech.jts.jts-core' from 1.17.0 to 1.18.2
- Replaced bundle 'org.apache.commons.net' 3.6.0 with 'org.apache.commons.commons-net' 3.8.0
- Removed bundle 'com.emagiz.bundles.spring-integration-xmpp' 5.2.3.1
Bug Fixes
- In build 58, retrying to deliver a message from the dead-letter queue did not work, breaking the message redelivery feature. This is fixed in build 59.
Remarks
- Change of behaviour when incoming HTTP headers are mapped to message headers: Up to build 58 the values of incoming HTTP headers were only mapped to an array when it contained multiple values, otherwise the first (and only) value was automatically extracted and used for the message header. Since build 59 the values are always mapped to an array. While this makes the data type of the header more predictable - it is no longer dependent on the number of values a client was sending - it does mean that your SpEL expressions that were previously expecting single values need to now handle array values. In many cases this can be as simple as extracting the first array value like this: "headers.myHeader[0]".