Deserialization Exploits in Java: Why Should I care?

Hackers refer to deserialization in Java as “the gift that keeps on giving”. But what is actually the problem? In most cases, it is not even your own code that creates this security vulnerability. This problem is also not restricted to Java’s custom serialization framework. When deserializing JSON, XML, or YAML, similar issues can occur as well. I recently gave …

Read More »

Journeys in Java, Level 6: Build a Neo4j Microservice

For our next adventure in Java microservices, we want to expand our system for book review data. While books and authors are well-suited for a document database such as MongoDB, once you add reviews to the mix, the importance of the relationships makes this project better suited for a graph database. This way, we can utilize relationships between the different …

Read More »

Jakarta Concurrency: Present and Future

Jakarta EE, previously Java EE, is a set of specifications that enables the world wide community of Java developers to work on cloud native Java enterprise applications. It is an open source project maintained by the Eclipse Foundation. Jakarta Concurrency is a small, but fundamental, specification under the Jakarta EE umbrella. As project lead, I provide more information on what …

Read More »

The End of the Beginning for Apache Cassandra

Image: Pixabay Editor’s note: This story originally ran on July 27, 2021, the day that Apache Cassandra 4.0 was released. Today is a big day for those of us in the Apache Cassandra community. After a long uphill climb, Apache Cassandra 4.0 has finally shipped. I say finally, because it has at times seemed like an elusive goal. I’ve been involved in the Cassandra …

Read More »

JDK 7: An Extended Hello and Farewell

On July 7th, 2011, eleven years ago, JDK 7 was released.  In some ways, it was one of the more significant releases of Java.  Indeed, there were some excellent technical features: Project Coin gave us things like try-with-resources, strings in switch and multi-catch.  However, it was two non-technical aspects of JDK 7 that made it important.  The first was that it was the …

Read More »

Taking VSCodium for a Spin

As part of my new job on Apache APISIX, I write less Java and Kotlin code. And when I do, the code is really simple. My coding hours (unfortunately not days) involve: A lot of containerization, including Dockerfile, docker-compose.yml, and soon Kubernetes manifests Some Python for scripting jobs – I abandoned Kotlin Scripting for this A bit of Lua because …

Read More »

Java on Azure Tooling Update – July 2022

Hi everyone, welcome back to the July update of Java on Azure Tooling. In this update, we will introduce the brand new getting started experience with the Azure toolkit for IntelliJ. In addition, we have added support for Managed Identity Authentication. Let’s see what these new features are. Azure Toolkit for IntelliJ Improvements New Guided Getting Started Experience In April’s …

Read More »

Debugging Gson, Moshi and Jackson JSON Frameworks in Production

Parsing bugs are the gift that keeps on giving in the age of APIs. We use a service, it works perfectly in debugging, QA, etc. Then some user input that made its way to the web request returns a result we just can’t parse. Unfortunately, there isn’t much we can do at this stage. We need to understand why the …

Read More »

Available Now – gRPC for Apache Cassandra

Build microservices easily with the NoSQL standard database If you are like most developers, you are embracing applications built using microservices and a NoSQL database. There are many good reasons: faster time to market, lower total cost of ownership, better performance, less downtime, and easy scalability. Creating cloud-native applications is hard because microservices are often written in different languages, database …

Read More »

MicroStream – Part 5: Caching, Integrations and Clustering

In this last article of the series, we cover a few other MicroStream features: caching, clustering, and the integrations into other frameworks. We have now covered three main aspects of MicroStream: We have seen how you can configure the StorageManager to define where data is stored. We have discussed the strategy that you should follow to make sure the changes …

Read More »