Durgesh Anaokar

I am a Senior Software Maintenance Engineer in Red Hat India. Mainly working over middle ware products such as JBoss, Datagrid etc.

Areas of Expertise

Java, Spring, JBoss

Recent Posts

Develop and test a Quarkus client on Red Hat CodeReady Containers with Red Hat Data Grid 8.0

Develop and test a Quarkus client on Red Hat CodeReady Containers with Red Hat Data Grid 8.0

This article is about my experience installing Red Hat Data Grid (RHDG) on Red Hat CodeReady Containers (CRC) so that I could set up a local environment to develop and test a Quarkus Infinispan client. I started by installing CodeReady Containers and then installed Red Hat Data Grid. I am also on a learning path for Quarkus, so my last step was to integrate the Quarkus Infinispan client into my new development environment.

Initially, I tried connecting the Quarkus client to my locally running instance of Data Grid. Later, I decided I wanted to create an environment where I could test and debug Data Grid on Red Hat OpenShift 4. I tried installing Data Grid on OpenShift 4 in a shared environment, but maintaining that environment was challenging. Through trial-and-error, I found that it was better to install Red Hat Data Grid on CodeReady Containers and use that for my local development and testing environment.

In this quick tutorial, I guide you through setting up a local environment to develop and test a Quarkus client—in this case, Quarkus Infinispan. The process consists of three steps:

  1. Install and run CodeReady Containers.
  2. Install Data Grid on CodeReady Containers.
  3. Integrate the Quarkus Infinispan client into the new development environment.

Continue reading “Develop and test a Quarkus client on Red Hat CodeReady Containers with Red Hat Data Grid 8.0”

Share
Using Byteman to Find Out Why the TimeZone Changed on a Java App Server

Using Byteman to Find Out Why the TimeZone Changed on a Java App Server

This article is about a real problem I faced where the timezone on a Java application server (in my case it was JBoss) changed unexpectedly during the run time of the server. It was hard to find any pattern or the reason for the change, as it was triggered by a HTTP request. To debug this scenario, I used the Byteman tool and injected the script into the JVM. This helped me to identify the root cause of the issue and come up with a few Do’s and Don’ts for a shared JVM (like on Java application servers).

Any application server is considered a shared JVM. There are multiple applications deployed on the JVM and they share the same resources. In such a scenario, there are some precautions which need to be taken care of. One of them is dealing with the JVM’s timezone.

Byteman is a tool that makes it easy to trace, monitor, and test the behavior of Java applications and the JDK runtime code. It injects Java code into your application APIs or into Java runtime methods without the need for you to recompile, repackage, or even redeploy your application. Injection can be performed at startup or in running code.

Continue reading “Using Byteman to Find Out Why the TimeZone Changed on a Java App Server”

Share