Spring Batch Testing & Mocking Revisited with Spring Boot

Jonny Hackett Java, Spring, Spring Batch, Spring Boot, Technology Snapshot, Testing Leave a Comment

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 Java Cloud Native Spring Microservice Application on Azure, Part 1

Zach Gardner Azure, Cloud, Java, Microservices, Technology Snapshot 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…

AWS SNS Push Notifications

Matt McCandless AWS, Cloud, Java, Problem Solving, Technology Snapshot Leave a Comment

Have you ever received endless notifications from the latest application you just downloaded? For example, a bank application that tells you your balance is less than $50. It is likely a message sent directly to your phone through Apple Push Notification Service, Firebase Cloud Messaging, or some other like service.

While you can use any of these services directly, there is a lot to gain by using something like AWS SNS to manage, send, and organize your notifications.

In this post, we show an example of the Push Notification feature of Amazon Simple Notification Service (SNS) using Firebase to handle the iOS and Android messages. Code examples are in Java using Eclipse.

Do note that this blog is solely focused on Push Notification feature of SNS. Keep in mind that SNS can be used for email and SMS messaging, but for brevity, we will steer clear of those.

Java Development Using Visual Studio Code

Todd Horn Design, Dev Methodologies, Java, Problem Solving, Programming Leave a Comment

Over the last few years, I have worked on several .NET and JavaScript projects. My go-to IDE for Angular, Node, and (in starting to learn) React has been Visual Studio Code, along with Visual Studio Enterprise for C#.

Recently, I started on a new team and project that was in Java. Our initial thought was to switch back over to Spring Tool Suite or IntelliJ. But, there are some really good extensions now for Java in VS Code that made that transition unnecessary. So we decided to take a look at what Visual Studio code could do for us – we were very pleasantly surprised!

In this post, I provide links and information to get you started down the right path for Java in Visual Studio Code.

Java-Based UI Frameworks

Rik Scarborough Java, Programming 1 Comment

In today’s development environment, there is an abundance of frameworks that we can choose from for front-end or user interface (UI) work.

I was recently talking with a friend about UI development. He has also been a programmer since programming was considered an arcane art (when those of us that did it were considered like Gandalf the Grey facing the Balrog). Or maybe we just saw ourselves that way. Regardless, both of us have been Java programmers for a great deal of that time.

We both lamented the fact that it was a context switch to go from coding most of our projects in Java, then needing to switch to JavaScript for the front end.

Based on conversations I’ve seen online, several readers are warming up their keyboards to chide me for complaining about having to code in JavaScript. Keep your keys cool, both of us and our co-workers are experienced in, and happy to write in, JavaScript and any of its frameworks for our clients. But using JavaScript isn’t always the best approach.

 In this post, we introduce two frameworks that allow you to code your user interface in Java: GWT & Vaadin…