InfoQ Homepage Java Content on InfoQ
-
Build a MySQL Spring Boot App Running on WildFly on an Azure VM
How to build a demo site that runs on the WildFly application platform and connects to a MySQL database in the cloud, on Microsoft Azure. The premise seems simple, but the implementation can be tricky, and there is limited documentation on how to set something like this up.
-
Deep Dive into JUnit 5 Extension Model
JUnit 5 is a modular and extensible testing framework with support for Java 8 and higher. The Jupiter extension model can be used to add custom features. This is explained by building out a simple set of extensions that support the BDD approach to testing with full code examples.
-
Improving Testability of Java Microservices with Container Orchestration and a Service Mesh
In enterprise test scenarios, software needs to be tested in the same way as it will run in production. This article provides a practical demonstration of testing Java microservices that are running on Kubernetes with the Istio service mesh. K8s service abstractions enable mocking, and Istio enables us to re-route traffic and inject faulty responses or delays to verify our services' resiliency.
-
Getting to Know Graal, the New Java JIT Compiler
Oracle have released Graal, a new JIT compiler for Java. For Java developers, Graal can be thought of as several separate but connected projects - it is a new JIT compiler for HotSpot, and also a new polyglot virtual machine, GraalVM. The initial release includes support for JVM bytecode and JavaScript with LLVM, Ruby and R in beta.
-
Refactoring to Eclipse Collections: Making Your Java Streams Leaner, Meaner, and Cleaner
Eclipse Collections is a high performance collections framework for Java, adding rich functionality to the native JDK Collections. In this article, key framework contributors demonstrate techniques for refactoring standard Java code to Eclipse Collections data structures and APIs, and also demonstrate some of the memory savings you can achieve.
-
Monitoring SRE's Golden Signals
Golden signals are increasingly popular these days due to the rise of SRE. This article outlines what golden signals are, and how to monitor and use them in the context of various common services.
-
Get Ready for Cloud Native, Service-Meshed Java Enterprise
Java EE can be easily combined with Cloud-native technologies such as Kubernetes and Istio to produce a modern service-driven application.
-
Servlet and Reactive Stacks in Spring Framework 5
Spring Framework 5 supports both traditional servlet-based and reactive web stacks, in the same server application, reflecting a major shift towards asynchronous, non-blocking concurrency in applications. In this article Spring committer Rossen Stoyanchev explores and contrasts both stacks, and explains the range of available choices, and provides guidance for choosing the appropriate stack.
-
Designing, Implementing, and Using Reactive APIs
Reactive programming is a hot topic in the Java world. Whether you want to leverage non-blocking APIs, manage the latency introduced by the explosion of microservices, or simply utilize computing resources more efficiently, it's time to look at reactive as a viable programming model. In this article, we offer some opinions on how you should design, implement and use reactive APIs.
-
Building a CI System with Java 9 Modules and Vert.x Microservices
Java 9 and Vert.x microservices are compatible for building applications, as showcased by this example application that implements a minimal, but working CI system.
-
JPA 2.2 Brings Some Highly Anticipated Changes
Released this past summer, JPA 2.2 delivered some frequently requested enhancements, especially by providing better alignment with Java 8 features, such as support for the Date and Time API and the retrieval of a query result as a Stream.
-
InfoQ’s Top Software Developer Stories, Videos and Podcasts from 2017
Charles Humble compiles a list of this year’s most interesting and popular content on InfoQ and chats to QCon chair Wesley Reisz about 2017 and how the next 12 months are shaping up.