We continue building our microservices system by adding a coordination layer to handle spinning multiple services up and down. The post Journeys in Java, Level 5: Building an Empire of Microservices appeared first on foojay. | Continue reading
Although the Java 19 release is coming in September (2022-09-20), we already know what will happen in that release! The post What Can We Expect In OpenJDK 19? appeared first on foojay. | Continue reading
In this post, learn how relational and NoSQL databases, Google Cloud Spanner and DataStax Astra DB, optimize distributed joins for real-time applications. Distributed joins are commonly considered to be too expensive to use for real-time transaction processing. That is because, . … | Continue reading
The JavaFX controller code maintains game state and responds to user input with appropriate updates to the UI. The post Wordish with JavaFX – Part 3 appeared first on foojay. | Continue reading
Most Java 17 blog posts focus on the shiny new language features. That’s all great, but we’d like to share what it takes to adopt Java 17 in a large tech team in the first place. The post Embracing Java 17: Here’s What We Learned at Picnic appeared first on foojay. | Continue reading
RAM profiling has its strengths and weaknesses. The Debugger is a complementary tool to translate obtuse statistics to actionable changes! The post Memory Debugging and Watch Annotations appeared first on foojay. | Continue reading
By exposing native Rust functions, you can be easily accessed using Project Panama's Foreign Function Access APIs. The post Java Panama Polyglot (Rust) Part 4 appeared first on foojay. | Continue reading
In many cases, microservices are probably not ideal, but if you're going to do it, take baby steps. Small and short-term wins matter; it boasts the team's confidence. Always put checks and balance whether it is working or not. If not, then go back to the alternative ways. The pos … | Continue reading
Learn specialized JavaFX Labels and Buttons, pseudo-classes for CSS styling, and third-party font libraries and customizing Scene Builder! The post Wordish with JavaFX – Part 2 appeared first on foojay. | Continue reading
Learn how to chop up the monolith by exposing the to-be-chopped parts via HTTP and use an API Gateway to route the wanted requests to one's service of choice! The post Chopping the Monolith: The Demo appeared first on foojay. | Continue reading
Threading issues are a piece of cake with these simple debugger techniques. Yes, you CAN debug threads with breakpoints! The post Debugging Deadlocks and Race Conditions appeared first on foojay. | Continue reading
Apache Pulsar is an open source streaming platform that addresses important limitations in Kafka, particularly for cloud-native applications. The post Why Developers Should Use Apache Pulsar appeared first on foojay. | Continue reading
Antiquated features of the JVM make it hard to utilize resources on your Cloud instances. Is it time for Java compilation in the Cloud? The post Let’s Compile Java Code in the Cloud! appeared first on foojay. | Continue reading
Do we need to do all modern development via the microservices architecture? Is it the norm, the new standard? This book argues differently. The post Book Review: Monolith to Microservices (Part 1) appeared first on foojay. | Continue reading
Learn about the main UI layout of a cool JavaFX game using Scene Builder, TilePane, FlowPane, controller code, iOS and Android settings! The post Wordish with JavaFX – Part 1 appeared first on foojay. | Continue reading
Learn about Kotlin context receivers to be able to pass additional parameters to a function without having to do it explicitly. The post Toying with Kotlin’s Context Receivers appeared first on foojay. | Continue reading
Azure Toolkit for IntelliJ is a plugin that allows you to easily create, develop, configure, test, and deploy Java applications to Azure. The post Azure Toolkit for IntelliJ – April 2022 Update appeared first on foojay. | Continue reading
Let's look at how frameworks work under the hood, namely Quarkus and Spring Boot, and how many threads they initiate to serve up results. The post Diving into JVM Framework Monitoring and Profiling appeared first on foojay. | Continue reading
You can follow this article if you need to publish a Java Maven-based library or artifact to Maven. The post How to Publish a Java Maven Project to the Maven Central Repository appeared first on foojay. | Continue reading
There are multiple ways to store sensitive passwords. And while having choices can be great, in the context of password storage, picking wrong can be a security nightmare. With that in mind, let’s hash out some of your options 🥁🥁.In this article ... The post How t … | Continue reading
Kafka is horizontally scalable, fault-tolerant, runs in production for thousands of companies – let's figure out how to get more out of it! The post Getting More Mileage Out of Kafka: OpenJDK vs. Azul Prime appeared first on foojay. | Continue reading
JEP 425: Virtual Threads (Preview) has been proposed recently. It has been a long-awaited feature in Java. It opens the door to Structured Concurrency. This article isn’t about it, in case you are interested, you can read, the JEP draft: ... The post How to run the Java Incubator … | Continue reading
Learn how to set up IntelliJ IDEA Ultimate to work with Apache Tomcat for new and existing projects. The post Setting up and Working with Apache Tomcat in IntelliJ IDEA Ultimate appeared first on foojay. | Continue reading
I spent over a decade as a consultant working for dozens of companies in many fields and pursuits. The diversity of each code base is tremendous. This article will try to define general rules for modernizing legacy code that would ... The post Modernize Legacy Code In Production: … | Continue reading
Learn how to run a build on GitLab only if a condition is met, especially helpful when conditions are expensive and time-consuming operations. The post Conditional Builds on GitLab appeared first on foojay. | Continue reading
JEP 425: Virtual Threads (Preview) has been proposed recently. I wanted to give it a try it on my favorite IDE, this article shows you how to do that in IntelliJ IDEA The post How to enable preview and run code from IntelliJ IDEA appeared first on foojay. | Continue reading
We use annotations to denote transactional behavior in modern Spring, so we have no code, no failure, no debugging... But is this true? The post Spring Transaction Debugging in Production with Lightrun appeared first on foojay. | Continue reading
Author’s note: I originally published this blog post in 2019, while I was CEO of Kesque, a real-time messaging service built on Apache Pulsar, the cloud-native distributed messaging and streaming platform. It’s a follow-up to an earlier post, “7 Reasons to ... The post 5 More Rea … | Continue reading
How can you stream from Pulsar to Apache Cassandra, the powerful NoSQL database designed to support data-heavy applications in the cloud? The post Bring Streaming to Apache Cassandra with Apache Pulsar appeared first on foojay. | Continue reading
How to use Testcontainers for your next project to create a stable and solid integration test suite of your Jakarta EE application features. The post Easy Jakarta EE Integration Testing appeared first on foojay. | Continue reading
Foojay, the place for friends of OpenJDK, is a friendly community of users of the OpenJDK, such as Java developers and Kotlin developers. It is a collaborative community with tips and insights being shared on a daily basis on Foojay ... The post How To Submit Your Next Article On … | Continue reading
Did you know GitHub and Google Cloud have all the infrastructure available to get short-lived tokens securely? Handy for Java devs and more! The post Securely Authenticate to Google Cloud from GitHub appeared first on foojay. | Continue reading
Inspecting the data in the watch quickly is key to a fast and effective debugging session. Here's how you can see the data that's important! The post Debugging Collections, Streams and Watch Renderers appeared first on foojay. | Continue reading
Virtual threads not only help to increase application throughput by running a much bigger number of concurrent tasks together, they also provide a framework to refactor already existing code. The post Thinking About Massive Throughput? Meet Virtual Threads! appeared first on fooj … | Continue reading
Welcome to the fourth iteration in a series about building microservices in Java. Learn how microservices work from the ground up in Java! The post Journeys in Java, Level 4: Building an Empire of Microservices appeared first on foojay. | Continue reading
How can you, as a Java developer, execute Python script code and access 3rd party Python libraries such as Tensorflow? The post Java Panama Polyglot (Python/Tensorflow) Part 3 appeared first on foojay. | Continue reading
In this article, I highlight that microservices, as presented at conferences, are doomed to fail in most organizations. The post Chopping the Monolith appeared first on foojay. | Continue reading
Java 18 support, inlay hints for parameter names, new language server status UX, lambda expression support in debugging and more! The post Java on Visual Studio Code Update – April 2022 appeared first on foojay. | Continue reading
Dial your debugging skills to 11 by leveraging some of the lesser known capabilities for debugging highly complex systems such as filters! The post Exception Breakpoint that Doesn’t Suck and a Real Use Case for Method Breakpoints appeared first on foojay. | Continue reading
What’s the best way to store, protect and access your data? This is a fundamental, yet critical decision. Let's look at the key criteria. The post SQL vs. NoSQL: Pros & Cons appeared first on foojay. | Continue reading
Learn about a brand new Java developer course for Neo4J with Java 17, with lessons learned, code snippets, insights, and more! The post Building a Fullstack IMDB Clone with a Java Backend using SparkJava and Neo4j appeared first on foojay. | Continue reading
Java 18, released last month, includes the 2nd incubator of the Foreign Function & Memory API (FFI). Let's look at the state of the Java FFI. The post Does Java 18 Finally Have A Better Alternative To JNI? appeared first on foojay. | Continue reading
Time to spruce up your GitHub! In this article, I want to highlight some files that you can use to beautify your GitHub repository. The post How To Beautify Your GitHub Repo appeared first on foojay. | Continue reading
Dp you want to dramatically decrease JVM startup time, from hundreds of seconds to tenths of milliseconds? Find out about Java on CRaC. The post Introducing the OpenJDK “Coordinated Restore at Checkpoint” Project appeared first on foojay. | Continue reading
Hello and welcome back to the Java Panama Polyglot series where we will be presenting quick tutorials or recipes on how to access native libraries written in other languages. In Part 1 you got a chance to learn about how to use ... The post Java Panama Polyglot (Swift) Part 2 ap … | Continue reading
Let's explore ten Java programming features used frequently by developers in their day-to-day programming jobs. The post Top 10 Java Language Features appeared first on foojay. | Continue reading
When simple web content or responses are required, Java 18 reduces the need to search for more complicated solutions like Jetty and Netty. The post How to Create APIs with the Java 18 jwebserver Ready for Docker appeared first on foojay. | Continue reading
Where should you add logs in a method? Should you log in this method? If so what should you include in the log? How to phrase the message? The post Logging Best Practices: MDC, Ingestion, and Scale appeared first on foojay. | Continue reading