close

Oleg Zhurakousky

Oleg Zhurakousky

Software Engineer

Saint-Saturnin-les-Apt, France

Open source practitioner with over 17 years of experience in software engineering across multiple disciplines including software architecture and design, consulting, business analysis and application development. Speaker who presented seminars at dozens of conferences worldwide (i.e. SpringOne, JavaZone, Hadoop Summit,, JavaOne, Scala Days, Oredev etc.)
Blog Posts by Oleg Zhurakousky

Spring Cloud Function 3.2 is out!

Spring Cloud 2021.0.0 is finally out and with it you have Spring Cloud Function 3.2

While the full list of features, enhancements and bug fixes is available here, I’d like to call out few of them in this post and provide some details.

gRPC Support

In addition to an already existing support for invoking function via AWS Lambda, RSocket, Spring Cloud Stream etc., Spring Cloud Function now allows you to invoke function via gRPC.
Two ways to benefit from it.

Spring Message

Given the wide adaption of Spring Messaging, one way of benefiting from gRPC support is by embracing Spring’s Message.
Spring Cloud Function provides GrpcSpringMessage schema modeled after Spring’s Message. It is internally converted to Spring Message to benefit from all of the existing support for Spring Messaging.

Read more...

Cloud Events and Spring - part 2

Introduction

We begin with a quick summary of the previous post.

  • Message is an adequate structure and abstraction with which to consume data that represents a Cloud Event in the context of Spring. We hope it was clear.
  • In Spring, our commitment to isolate functional versus non-functional concerns lets us address non-functional aspects (such as send, receive, retry, connect, convert, and others) at the framework level, letting you (mostly) concentrate on actual business logic and letting you keep your code simple and pluggable to a variety of execution contexts (more on this later).
Read more...

Cloud Events and Spring - part 1

Prologue

Uniformity of data across systems and platforms is a singular and noble purpose of Cloud Event specification. With its growing adoption, the hope is that the developers and architects would no longer have to worry about how to deal with various events coming from different systems and platforms…
But the point of this post is not to re-litigate or re-justify Cloud Events. A simple Google search renders quite a few points for you to read to help the “Why Cloud Events?” question.
The goal of this and subsequent posts on the subject is to share some ideas and the work we’ve been doing here at Spring to anticipate and handle greater adoption of Cloud Events.

Read more...

Announcing Spring Cloud Stream Horsham.SR4 (3.0.4.RELEASE) and Spring Cloud Hoxton.SR4

We are pleased to announce the release of the Spring Cloud Stream Horsham.SR4 (3.0.4.RELEASE) release train which is available as part of Spring Cloud Hoxton.SR4 and builds on Spring Boot 2.2.6 and Spring Cloud Function 3.0.6.RELEASE which was also just released.

Spring Cloud Stream Horsham.SR4 modules are available for use in the Maven Central repository.

This release contains several fixes and enhancements primarily driven by user’s feedback, so thank you.
For more details please follow these links:
- Spring Cloud Stream Core
- Spring Cloud Stream Rabbit Binder
- Spring Cloud Function

Read more...

Announcing Spring Cloud Stream Horsham.SR2 (3.0.2.RELEASE) and Spring Cloud Hoxton.SR2

We are pleased to announce the release of the Spring Cloud Stream Horsham.SR2 (3.0.2.RELEASE) release train which is available as part of Spring Cloud Hoxton.SR2 (just released) and builds on Spring Boot 2.2.4 and Spring Cloud Function 3.0.2.RELEASE which was also just released.

Spring Cloud Stream Horsham.SR2 modules are available for use in the Maven Central repository.

This release contains several fixes and enhancements primarily driven by user’s feedback, so thank you.
For more details please follow these links:
- Spring Cloud Stream Core
- Spring Cloud Stream Core Rabbit Binder
- Spring Cloud Stream Core Kafka Binder
- Spring Cloud Function

Read more...

Announcing the release of Spring Cloud Stream Horsham (3.0.0.RELEASE)

We are pleased to announce the release of the Spring Cloud Stream Horsham (3.0.0.RELEASE) release train which is available as part of Spring Cloud Hoxton.RELEASE (imminent) and builds on Spring Boot 2.2.x and Spring Cloud Function 3.0.0.RELEASE which was also just released.

Spring Cloud Stream Horsham.RELEASE modules are available for use in the Maven Central repository.

Quick highlights:

As mentioned in these posts (demystified and simplified, functional and reactive, stream and spring Integration and event routing) preceding this announcement, the core theme of this release is functions!.

Read more...

Announcing the release of Spring Cloud Function 3.0.0.RELEASE

We are pleased to announce the release of the Spring Cloud Function 3.0.0.RELEASE, which is available as part of Spring Cloud Hoxton.RELEASE (imminent) and builds on Spring Boot 2.2.x.

Spring Cloud Function 3.0.0.RELEASE modules are available for use in the Maven Central repository.

Quick highlights:

Transparent type conversion

This release introduces a refactored implementation of FunctionCatalog which amongst features such as function composition, support for reactive and non-reactive functions and more introduces transparent type conversion via MessageConverters provided by Spring Messaging.

Read more...

Spring Cloud Stream - Composed Functions or EIP

In preparation for the upcoming releases of Spring Cloud Stream (SCSt) 3.0.0 - Horsham and Spring Cloud Function (SCF) 3.0.0, we’ve been publishing a series of posts discussing and showcasing new features and enhancements.
We provided motivation and justification for moving away from the annotation-based programming model to the functional model, and then we provided more details on the functional approach, as well as reactive functions.
In another post, which is relevant to what we’re going to be discussing here, Artem demonstrated the benefits of combining functional approaches with the Spring Integration project. We also talked about event routing in our last post.

Read more...