Subscribe: Javalobby - The heart of the Java developer community
Added By: Feedage Forager Feedage Grade A rated
Language: English
announced spring  article  boot  cloning  cloud  java cloning  java  programming  spring boot  spring cloud  spring  team  time 
Rate this Feed
Rate this feedRate this feedRate this feedRate this feedRate this feed
Rate this feed 1 starRate this feed 2 starRate this feed 3 starRate this feed 4 starRate this feed 5 star

Comments (0)

Feed Details and Statistics Feed Statistics
Preview: Javalobby - The heart of the Java developer community

DZone Java Zone

Recent posts in Java on


The Twisted Sisters of Overloadable Groovy Operators

Tue, 17 Jan 2017 17:01:00 GMT

Groovy supports operator overloading for a limited set of operators. Each supported operator corresponds to a particular method signature. If a type implements that method, then that operator is effectively overloaded for instances of that type.

The + operator, for example, corresponds to the plus method, enabling to be substituted with a + b. And thanks to the wonders of polymorphism, a type can define multiple plus methods to allow + to behave differently depending on the type on the right hand side of the operator (e.g. [1] + 2 inserts 2 at the end of the list while [1] + [2] joins the two lists together, resulting in [1, 2] for both).

Open Your Classes and Methods in Kotlin

Tue, 17 Jan 2017 11:01:00 GMT

Though Kotlin and Spring Boot play well together, there are some friction areas between the two. IMHO, chief among them is the fact that Kotlin classes and methods are final by default.

The Kotlin docs cite the following reason:

Functional Programming Is Not What You (Probably) Think

Tue, 17 Jan 2017 08:01:00 GMT

After seeing many of the comments from another article attempting to explain what FP (Functional Programming) is about, I thought I would take another attempt at my own explanation. First, just a little background about me: I am currently a Quality Engineer at Red Hat, and I have been writing Clojure off and on (mostly off) since 2010. I have just recently begun a journey learning PureScript which is (sort of) a dialect of Haskell that targets a JavaScript engine. My goal in this article is to give yet another explanation of FP and give at least a notion of the differences between "mostly" FP from pure FP. I welcome any comments, questions, or corrections (especially with regards to pure functional programming, which I am still fairly new at).

Definition of a Pure Function

So in the previous article mentioned above, the author wanted to convey the notion of what a pure function is: namely, a function which, given the same input, always yields the same output and without any side effects. A side effect can include mutating any variable or affecting the "outside" world (for example writing to a file or stdio). A related but orthogonal concept to a pure function is a total function, which perhaps I'll cover in another article.

Java Cloning: Even Copy Constructors Are Not Enough

Tue, 17 Jan 2017 05:01:01 GMT

This is the third article in my Java Cloning series. In my previous articles, Java Cloning and Types of Cloning (Shallow and Deep) in Details with Example and Java Cloning: Copy Constructor versus Cloning, I discussed Java cloning in detail and explained every concept, like what cloning is, how it works, the necessary steps we need to follow to implement cloning, how to use Object.clone(), shallow and deep cloning, how to achieve cloning using serialization and copy constructors, and advantages copy of copy constructors over Java cloning.(image)

If you have read those articles, you can easily understand why it is good to use copy constructors over cloning or Object.clone(). In this article, I am going to discuss why copy constructors are not sufficient.

Do the Many Types of Coding Languages Stifle Creativity?

Mon, 16 Jan 2017 23:01:00 GMT

How many types of coding languages can you name today? 15? 20? And these are just the ones that spring to mind, the household names. When I first got into IT over 20 years ago, there were just a few actively used programming languages, but there are dozens now. While new ways to express creativity are almost always a good thing — and the growing number of new programming languages certainly is a testament to that end — the current volume of languages out there may hinder IT stability in my opinion.

I remember working on a project the nature of which dictated using C++. C++ wasn't just the best language for the job; it was the only language suitable for the job, given the interfacing APIs and other factors. The problem was I was the only developer in our IT department who knew C++. On the one hand, my knowledge was great because as a "team," we were able to provide a solution to the business unit we supported. On the other hand, no one else on our team could support the solution, and after I left that company, no one in-house could extend it, and the company was not about to hire a C++ developer to support a single solution.

What 2017 Brings for a Java Developer

Mon, 16 Jan 2017 17:01:00 GMT

The new year and Christmas aren't far gone, so it’s a good time for Java developers to wear a warm sweater. And, of course, it’s an excellent time to summarize the previous year and make some plans and forecasts for the next. Personally, for me, it’s almost a tradition. I’m going to continue it and write a couple of thoughts about 2017 for Java developers.

But before this, let’s try to recall what happened in 2016.

Is An Agile Java Standard Possible?

Mon, 16 Jan 2017 11:01:00 GMT

This week, we had one of the three face-to-face meetings that the JCP executive committee (EC) has each year. This is only my second meeting of this format; despite my long history with Java, it’s interesting to see the way things work from this perspective.

Since the minutes of the meeting have not yet been published, I won’t talk directly about what was discussed. However, one thing that has been on the minds of the JCP EC for some time is how the standardization of Java SE will work in the future.

Spring Boot and Cache Abstraction With Hazelcast

Mon, 16 Jan 2017 08:01:00 GMT

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. 

Java on Steroids: 5 Super Useful JIT Optimization Techniques

Sun, 15 Jan 2017 05:01:00 GMT

For more like this, visit the Takipi blog.

Even when you’re not actively planning for it, the JVM has quite a few tricks up its sleeve to help your code perform better. Some require literally nothing from you for them to work, and others could use a little help along the way.

IntelliJ IDEA 2017.1 EAP Is Out!

Sat, 14 Jan 2017 05:01:00 GMT

Finally, the holidays are over and it’s time to get back to work. We hope you’ve already had a chance to try IntelliJ IDEA 2017.1 EAP. If not, there’s one more reason to do it now: a freshly published EAP build.

Along with the usual bugfixes, it brings a handful of quite interesting novelties.

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.

Problematic Example

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.

Java Annotated Monthly: January 2017

Fri, 13 Jan 2017 05:01:21 GMT

Happy new year! I hope you had a fun/restful/productive (delete as appropriate) festive season, if applicable. January’s Annotated Monthly is a gentle introduction to 2017 with a summary of the state of Java and the community, and an overview of some of the key technology trends from 2016.

State of Java

As 2016 ended there were some great summaries of the key trends and some nice reminders of good Java coding. It’s clear Java is still one of the most popular languages, that despite delays, Java 9 is eagerly anticipated, and that the future of Java-the-language is bright. Despite there being some confusion around licensing at the tail end of the year, this has been addressed by various groups.

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.

Reactive Streams and the Weird Case of Back Pressure

Thu, 12 Jan 2017 07:01:00 GMT

For more like this, visit

There are a lot of initiatives that aim to improve workflows for developers, but only some actually make it to a living and breathing concept. One of them is Reactive Streams.