Spring Team
Artem Bilan

Artem Bilan

Spring Integration Team

Philadelphia, PA

Blog Posts by Artem Bilan

Spring For Apache Kafka 1.3 Milestone 2 Available

We are pleased to announce the availability of the Milestone 2 of the Spring for Apache Kafka 1.3 version.

It is available for download from the Milestone Repository:

repositories {
    maven { url 'http://repo.spring.io/libs-milestone' }
}
compile "org.springframework.kafka:spring-kafka:1.3.0.M1"

(Milestone 1 had a blocker issue).

Functionally, the 1.3.x line provides a subset of the 2.0 line (which requires Spring Framework 5.0 and Java 8), but provides support for Java 7 projects and Spring Framework 4.3.x.

Read more...

Spring Integration 5.0 Milestone 6 Available

On behalf of the Spring Integration team I am pleased to announce that the Milestone 6 for the Spring Integration 5.0 version (5.0.0.M6) is now available.

It is available for download from the Milestone Repository:

repositories {
    maven { url 'http://repo.spring.io/libs-milestone' }
}
compile "org.springframework.integration:spring-integration-core:5.0.0.M6"

19 JIRAs (and some GitHub issues) made into this release, including bug fixes and a number of new features. Some highlights of features in the M6, since the previously announced Milestone 5:

Read more...

Spring For Apache Kafka 2.0 Milestone 3 Available

We are pleased to announce the availability of the Milestone 3 of the Spring for Apache Kafka 2.0 version.

It is available for download from the Milestone Repository:

repositories {
    maven { url 'http://repo.spring.io/libs-milestone' }
}
compile "org.springframework.kafka:spring-kafka:2.0.0.M3"

Since the previous announcement, these feature have made it into the current Milestone:

  • Apache Kafka 0.11.0.0 client base line;

  • With the new Apache Kafka foundation we have introduced KafkaTransactionManager and transactions support in the KafkaTemplate via new executeInTransaction() operation;

  • The KafkaListenerContainer can now be supplied with the TransactionManager to perform polling and offset commits with transaction boundaries;

  • The Kafka Headers support is provided as well. Now you can send and receive messages with any arbitrary headers, for example build request-reply scenarios using some correlationKey header;

  • The ConsumerAwareErrorHandler is provided to manage Consumer state in case of errors;

  • The KafkaEmbedded can now be supplied with any arbitrary brokerProperties.

Read more...

Spring AMQP 2.0.0 Milestone 5 is Available

I am pleased to announce that the Milestone 5 of Spring AMQP 2.0 is now available in the Spring milestone repository.

Features and fixes since the last milestone:

  • Log4j2 AmqpAppender is now thread-safe;

  • DefaultMessagePropertiesConverter now correctly passes arrays for the header values to the AMQP Client library;

  • Jackson2JsonMessageConverter can now be configured for the trustedPackages to fix violation for Jackson Serialization Gadgets;

  • RabbitAdmin operations can now be performed on the same AMQP channel as a unit of work via RabbitTemplate.invoke();

  • PossibleAuthenticationFailureException can now be treated as a non-fatal via particular option on the AbstractMessageListenerContainer;

  • RepublishMessageRecoverer can now be configured for the deliveryMode for messages to republish.

Read more...

Spring Integration 4.3.11 is Available

On behalf of the Spring Integration team, I am pleased to announce that the 4.3.11.RELEASE of Spring Integration is now available.

This release contains a few important bug fixes as well as a couple of improvements. In particular it contains a fix for the Jackson Serialization Gadgets vulnerability. Hence introduced in the version 4.3.10 custom ObjectMapper utility doesn’t allow now to deserialize objects in the untrusted packages. The set of trusted packages can be configured or you can use * to trust all. See JacksonJsonUtils.messagingAwareMapper() for more information.

Read more...

Spring Integration Extension for Hazelcast 1.0.0 GA Available

On behalf of the Spring Integration community I’d like to announce the GA release of Spring Integration Extension for Hazelcast. Its artifact is spring-integration-hazelcast.1.0.0.RELEASE and is available in the Release Repository and Maven Central.

Since the previous Milestone 1 and Milestone 2 we have done some bug fixes and internal improvements. The new features added since there are for Spring Integration utilities support which are useful in distributed, clustered applications:

  • HazelcastMessageStore

  • HazelcastLockRegistry

  • HazelcastMetadataStore

Read more...

Spring Integration 5.0 Milestone 5 Available

On behalf of the Spring Integration team I am pleased to announce that the fifth milestone for the Spring Integration 5.0 release (5.0.0.M5) is now available.

21 JIRAs (and some GitHub issues) made into this release, including bug fixes and a number of new features. Some highlights of features in M4 and M5, since the previously announced Milestone 3:

  • The Splitter now can deal with the Java Stream and Reactor Flux payloads. If the output channel is a ReactiveStreamsSubscribableChannel, splitting supports back-pressure.

  • A ErrorMessagePublisher together with the ErrorMessageStrategy have been introduced to pursue better error handling experience with the inception message for the ErrorMessage. The MessageListenerContainer in Spring Kafka 2.0 and Spring AMQP 2.0 are supplied with their own ErrorMessageStrategy to represent the original data in the ErrorMessage for the error handling flow.

  • The new MockMessageHandler has been added to Spring Integration Test framework for replacing real `MessageHandler`s for unit testing:

Read more...

Spring Integration 4.3.10 is Available

On behalf of the Spring Integration team, I am pleased to announce that the 4.3.10.RELEASE of Spring Integration is now available.

This release contains a few important bug fixes as well as a couple of improvements.

One of the most interesting feature is customized Jackson ObjectMapper which is aware of Message and MessageHeaders serialization/deserialization to/from JSON. This functionality is useful in those components which allow to configure custom serializer/deserializer, for example RedisMessageStore:

Read more...