What's New in JDK 14

Whatโ€™s New in JDK 14 and Beyond

Eric Solomon Articles, Development Technologies & Tools, Java Leave a Comment

Why should one care about new JDK releases? As most Java developers are acutely aware, most of the industry is still dominated by JDK 8, so the likelihood of being able to use these new features in the near feature is probably low. However, as the industry gradually shifts from JDK 8 to the latest LTS release and becomes more accustomed to the new, 6-month release cadence, we should start seeing faster adoption rates of new releases.ย 

As a result, the need to continually sharpen your sword and stay up to date will increase. Also, if you are wanting to help kickstart the shift beyond JDK 8 in your projects, knowing what value later versions bring and being able to incorporate them into your proposal can be extremely helpful in making your goal of using a newer version a reality. Besides those two reasons, it is also just plain exciting to see what the latest and greatest is and where the language is heading.

So without further ado, letโ€™s take a look at three of the more significant enhancements that come with JDK 14: Records, NullPointExceptions, and instanceof. If you like, you can check out the full list here. We’ll also briefly discuss JDK 15 and its promised JEPs.

A Quick Look at java.util.stream

Quick Look: java.util.stream Examples

Keith Shakib Articles, Development Technologies & Tools, Java Leave a Comment

Some of us take for granted the newer features in Java, but, being a software consultant, I get to be involved in projects that are sometimes constrained to older versions of Java. The features from Java 1.8 that I have enjoyed for a few years are brand new to others.

I wrote this blog as a primer for those who are just getting started using java.util.Stream classes, or for those who havenโ€™t had a chance to take a look at them until now. The quick topics below represent just a sampling of some of the ways to be more productive using java stream classes. Rather than providing a tutorial on how the classes are used, Iโ€™ll attempt to explain by example.

January 16: Behavior-Driven Development Talk @ KC Java

Keyhole Software Articles, Community, Company News, Educational Event, Java Leave a Comment

The Keyhole Software team is excited to announce that we are sponsoring and speaking at the upcoming Kansas City Java User Group on Thursday, January 16th.

Keyholeโ€™s Keith Shakib will lead the January meetup of the monthly educational user group with the topic of Behavior-Driven Development in Practice. Attendance is free and dinner will be provided by Keyhole.

Thursday, January 16, 2020
5:30 PM to 7:30 PM
YRC Worldwide –ย 10990 Roe Ave Overland Park, KS

Spring Batch Testing & Mocking Revisited with Spring Boot

Jonny Hackett Articles, Development Technologies & Tools, Java, Spring, Spring Batch, Spring Boot, Testing 3 Comments

Several years ago, 2012 to be precise, I wrote an article on an approach to unit testing Spring Batch Jobs. My editors tell me that I still get new readers of the post every day, so it is time to revisit and update the approach to a more modern standard.

The approach used in the original post was purely testing the individual pieces containing any business logic. Back then, we didnโ€™t have some of the mocking capabilities that we have today, so I went with an approach that made sense at the time.

However, there have been a few improvements in the past several years. One of those improvements has been the ability to Mock beans within a Spring Context. Thatโ€™s where the @MockBean annotation comes to the rescue.

Building a Spring Cloud Native Microservice Application on Azure, Part 1

Zach Gardner Articles, Azure, Cloud, Development Technologies & Tools, Java, Microservices Leave a Comment

The big three cloud providers (AWS, Azure, and Google Cloud, in that order) have their various strengths and areas of expertise. Most large organizations though typically pick one cloud provider for their cloud computing needs. This works well if youโ€™re a Java shop thatโ€™s on AWS, or a Microsoft shop on Azure. But what if youโ€™re on a large Java project in an organization that wants to use Azure? Youโ€™re in luck.

Microsoft Azure has come a long way, and is very supportive of non-Microsoft technologies. The proof though is in the pudding. Which is where this blog post comes in. I take Josh Longโ€™s Bootiful Microservice Services, a great starting point to get a cloud native Spring microservice application up and running, and show how it can be run on Azure.

This first blog post will be all about setting up our basic microservices by walking through the various parts of Joshโ€™s example application, with some best practices and patterns that Iโ€™ve found to be effective. Rather than a simplistic ToDo application, weโ€™ll be basing our application off of my favorite bagel shop in New York, Original Bagel Boss in Hicksville, to manage its orders, inventory, etc. If we can run a bagel shop on a Spring application running on Azure, and keep customers happy and full of carbohydrates, then it proves out for applications of a similar size and complexity.

Weโ€™ll be staying mostly inside the familiar Java confines, then slowly start working our way out to getting our application deployed to Azure. Then weโ€™ll start introducing additional complexity like Spring Batch jobs, a React front end, etc. A setup this complex will show that Azure is ready for prime time when it comes to running applications in production, even if they are built on non-Microsoft technologies…