Journeys in Java, Level 9: Docker compose all the things

Our microservices project contains quite a few pieces now. We have two databases, three API services, a user-view service for books, and a service to host our configuration. With so many pieces to manage, it would be nice to have something that orchestrates the individual services into a system, such as Docker Compose. Back in our Level 5 rendition, we …

Read More »

Porting an Existing JavaFX App to iOS

Sometimes there are JavaFX apps that I would also like to use on my iPhone but I wrote them for the desktop and it’s always the question how to do that? These days the simple answer is use Gluon Mobile. But the real question remains… how to do it? To give you an idea, I will take my little game …

Read More »

Should You Update Java or Upgrade and Which Version Should You Use?

Update versus Upgrade: what’s the difference and what are the consequences of your decision? Since 2018, every six months we get an upgrade to a new OpenJDK version, and this year versions 20 and 21 will be released. Next to these six-month releases, OpenJDK distributor Azul, amongst others, provides four critical patch updates (CPU) and patch set updates (PSU) per …

Read More »

The Evolution of APIs: From RESTful to Event-Driven

History of Services and APIs Enterprise application landscapes consist of inter-connected and inter-related applications. The world of application integrations has been constantly evolving over several years. Over time, we’ve observed a trend towards more modular and data model-focused integration components, and an increased emphasis on real-time processing. Beginning with EJBs in the 90s, progressing to Webservices and Service-Oriented Architecture (SOA) …

Read More »

Is There a Best OS to Develop a Java Application on?

One subject that often evokes a lot of debate is which is the best OS to develop a Java application on. This article gives my view on the issue. Java runs very well on Windows, macOS and Linux Distributions. I work for Chronicle Software, and much of our software is open-source Java libraries, so we don’t, or rather we can’t, …

Read More »

How to Get Started with the Hazelcast Viridian Serverless

Hazelcast Serverless means that Hazelcast manages your Cloud infrastructure for you. Each Viridian Serverless cluster is an independent deployment of Hazelcast Platform in a Kubernetes container. This design guarantees resource isolation, prevents resource stealing, and provides isolated network access. Viridian Serverless clusters come in two types:1) Development: Capped storage. You can store at most 1 GiB of data; and 2) …

Read More »

Web App Startup in 3ms with RIFE2 and GraalVM

RIFE2 applications already launch quickly with a regular JVM thanks merely calling Java methods, lambdas and doing object instantiations at startup. There are no annotations to scan for, nor any declarations or config files to parse and resolve. The RIFE2 v1.3.0 release introduced experimental support for GraalVM Ahead-Of-Time compilation with native-image, reducing the startup time of the bootstrap project from …

Read More »

An Introduction to Scoped Values in Java

After moving to the six-month release cadence, the Java language has entered a rapid development process. While the process introduces many new features, these new features sometimes cause updates to existing APIs and sometimes result in the development of new APIs. An example of the second is Scoped Values which has been included in the JDK since Java 20 as …

Read More »

Java Sealed Classes in Action: Building Robust and Secure Applications

Java sealed classes were introduced in Java 15 as a way to restrict the inheritance hierarchy of a class or interface. A sealed class or interface restricts the set of classes that can implement or extend it, which can help prevent bugs and make code more maintainable. Suppose you’re building an e-commerce application that supports different payment methods, such as …

Read More »

Foojay Podcast #14: Debugging Tools and Skills for Fun and Profit

Let’s talk about debugging and observability. We work with debugging all the time, but how well do we know this common practice? Observability, monitoring, and debugging at scale for your production… Guests A lot of rubber ducks Johannes Bechberger JVM and profiler developer Worked on the JDWP protocol and profiling https://github.com/parttimenerd https://twitter.com/parttimen3rd https://mastodon.social/@parttimenerd  AsyncGetStackTrace: A better Stack Trace API for …

Read More »