Artem Bilan

Artem Bilan

Recent Blog posts by Artem Bilan

Spring For Apache Kafka 2.0 GA Available

Releases | October 02, 2017 | ...

We are pleased to announce the general availability of the 2.0.0.RELEASE of the Spring for Apache Kafka 2.0 version.

As mentioned in the 2.0 RC1 announcement, the 1.3 GA is also available supporting the Kafka 0.11.x.x client with Spring Framework 4.3.x applications.

They are available for download from the Release Repository and Maven Central:

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

That was 6 months journey to bring a Java 8 and Spring Framework 5 vision for Spring for Apache Kafka project and here is…

Spring Integration 5.0 Milestone 7 and 4.3.12 Available

Releases | September 14, 2017 | ...

On behalf of the Spring Integration team I am pleased to announce that the Milestone 7 for the Spring Integration 5.0 version (5.0.0.M7) 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.M7"

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

  • Reactive WebFlux Channel Adapters has been extracted to the separate spring-integration-webflux module to distinguish Servlet-based MVC configuration from the Reactive foundation.

  • The EmbeddedJsonHeadersMessageMapper is introduced to allow embedding message headers together with the payload into packages for target protocols which doesn’t support headers natively, for example TCP/IP, MQTT, AWS Kinesis and Apache Kafka before version 0.11.x.

  • The java.util.function.Supplier can now act as a MessageSource:

Spring For Apache Kafka 1.3 Milestone 2 Available

Releases | August 21, 2017 | ...

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.

It is primarily intended to provide early access to 0.11.0.0 Apache Kafka client…

Spring Integration 5.0 Milestone 6 Available

Releases | July 25, 2017 | ...

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:

  • The Spring WebFlux based Reactive Channel Adapters are provided for the HTTP server side:

Spring AMQP 2.0.0 Milestone 5 is Available

Releases | July 24, 2017 | ...

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.

Spring For Apache Kafka 2.0 Milestone 3 Available

Releases | July 24, 2017 | ...

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;

Spring Integration 4.3.11 is Available

Releases | July 20, 2017 | ...

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.

Another useful fix is…

Spring Integration Extension for Hazelcast 1.0.0 GA Available

Releases | July 17, 2017 | ...

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

See their JavaDocs and respective chapters in the Spring Integration Reference Manual

Spring Integration 5.0 Milestone 5 Available

Releases | June 16, 2017 | ...

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:

    MessageHandler mockMessageHandler = mockMessageHandler() .handleNextAndReply(m -> m.getPayload().toString().toUpperCase());

    this.mockIntegrationContext .substituteMessageHandlerFor("myServiceActivator", mockMessageHandler);

    this.pojoServiceChannel.send(new GenericMessage<>("foo")); receive = this.results.receive(10000);

    assertEquals("FOO", receive.getPayload());

Get ahead

VMware offers training and certification to turbo-charge your progress.

Learn more

Get support

Tanzu Spring offers support and binaries for OpenJDK™, Spring, and Apache Tomcat® in one simple subscription.

Learn more

Upcoming events

Check out all the upcoming events in the Spring community.

View all