Previously we got started with Spring cache abstraction using the default cache manager that Spring provides.
Although this approach might suit our needs for simple applications, in the case of complex problems, we need to use different tools with more capabilities. Hazelcast is one of them. Hazelcast is hands down a great caching tool when it comes to a JVM-based application. By using Hazelcast as a cache, data is evenly distributed among the nodes of a computer cluster, allowing for horizontal scaling of available storage.
Functional and Reactive Spring with Reactor and Netflix OSS
Mon, 16 Jan 2017 05:01:00 GMT
Reactive programming is a programming paradigm that deals with a stream of events in a non-blocking and event-driven fashion. Exceptions are considered first-class citizens and are treated as events to avoid breaking the flow of events.
Functional programming, on the other hand, enables you to write declarative code that is composable and easy to reason about.
Extracting Javadoc Documentation From Source Files Using JavaParser
Fri, 13 Jan 2017 23:01:00 GMT
What Naming and Poetry Have in Common
Fri, 13 Jan 2017 17:01:01 GMT
From time to time, I come across an article or comment that neglects the need for naming things, especially if that would imply creating a function that consists of a single line of code. Another, probably even more controversial, topic that pops up in texts like this is evaluating whether a certain name is good or not. One of those posts, named Do You Really Have to Name Everything in Software?, appeared recently on DZone and inspired me to add my few words to the discussion.
The example discussed comes from another article on DZone titled Using Java 8? Please Avoid Functional Vomit:
Annotation-Based Null Analysis in Eclipse
Fri, 13 Jan 2017 11:01:08 GMT
The NullPointerException is always an unexpected event and points toward a programming error. This article will help to avoid these kinds of errors by learning about how Eclipse can help to eliminate these problems — by using the "Eclipse annotation-based null analysis." For the sake of simplicity, I will just be calling it "null analysis."
Besides null analysis, Eclipse offers the flow analysis, which is always running in the background. It shows obvious null access locations.
Let's Visualize Your Spring Boot Applications [Video]
Fri, 13 Jan 2017 08:01:28 GMT
In the microservice era, working with tens of hundreds of services leads to difficulties getting a grasp of the application health such as error frequency, server resources, response times and throughput. It is said visualization tools can help us command a view of the whole system and detect problems in the early stages or prevent them from occurring, but the important thing is to choose proper tools and create dashboards the right way.
This session offers techniques for visualizing microservices built by Spring Boot applications using Elasticsearch, Kibana, and Spring Cloud Sleuth. Besides visualizing server resources and access logs, service dependencies and performance bottlenecks, and business statuses such as conversion rate are also visualized. Let’s have fun diving into visualizing your applications.
This Week in Spring: Announcements Galore, Spring Cloud Contracts, and Integrating the Database
Thu, 12 Jan 2017 12:31:00 GMT
Welcome to another installment of This Week in Spring! We’ve got a lot to cover this week, so let’s get to it! This week I’m in San Francisco and New York City talking to developers and toiling on the final edits to the O’Reilly book Cloud Native Java (almost there!).
Spring Cloud Task ninja Glen Renfro just announced Spring Cloud Task 1.1.1.
our latest and greatest Spring Boot team member Madhura Bhave just announced Spring Boot 1.5.0.RC1.
Spring Integration guru Artem Bilan just announced Spring Integration 5.0.M2.
Spring Batch and Spring Cloud Task lead Michael Minella just announced Spring Batch 4.0 complete with a lot of niceties and — in particular, a feature I’ve wanted forever — an easy way to build instances of the more sophisticated ItemReader and ItemWriter instances, including the FlatFileItemReader! This is been a long time in coming and I can’t wait for this release. This rounds out the already epic Java configuration story for Spring Batch.
Spring IO Platform lead Andy Wilkinson just announced Spring IO Platform Athens SR2, which brings with it new revisions of Spring Boot, Spring Retry, Spring AMQP, and so much more.
Spring framework ninja and Kotlin aficionado Sebastien Deleuze just blogged about some of the coming improvements to support the Kotlin language in Spring framework 5.
Pivotal’s very own Ben Wilcock put together a very nice example project that demonstrates how to use Spring Cloud Services with Pivotal Cloud Foundry.
He also put together a handy demo of Spring Cloud Contracts.
Our very own Toshiaki Maki Making put together a nice post on some of the niceties in Spring Boot 1.5 and how they integrate with the Pivotal Apps Manager for Cloud Foundry.
Daniel Olszewski has put together a quick and easy look at configuring time-to-live values for the Spring Cache abstraction.
I liked this German-language post on building REST services with Spring Boot
Jose Praveen did a nice job demonstrating how to integrate an H2 database with a Spring Boot application.
I liked Sam Chu’s Chinese-language post on setting up multiple MongoDB connections in a Spring application.
This is a well-thought out look at how to do validation of JSON payloads in a REST API.
Recapping 2016: A Busy Year for CUBA
Thu, 12 Jan 2017 11:01:00 GMT
2016 is gone, and it was eventful for our team that I decided to recap what happened during the year and where it has taken us.
Obviously, the main and very challenging change was going open source in April. Now, the platform is absolutely free and distributed under Apache 2.0. Also, there are no runtime restrictions on CUBA applications anymore. Our goal was to free up applications built with CUBA from any runtime license restrictions: We had concerns that the previous license was discouraging too many developers from trying the framework.
Getting Started With Actors: Akka in a Nutshell
Thu, 12 Jan 2017 09:01:00 GMT
Actors are objects which encapsulate state and behavior. They communicate by exchanging messages. We can consider an actor as a person.
Like a software development team, actors form hierarchies. In a team, there is a project manager who takes requirements from client and distributes it over to different team leads. Then, those team leads further distribute the tasks to other team members. Team members, after finishing their tasks, report to their team lead about the status.