Java Developer

Java and NGINX Microcaching - Benchmark Results

Utilizing the caching features of NGINX will boost your Java Application performance. It was shown in the previous post how to configure microcaching with NGINX and Tomcat or other Java application server. This post will show the benchmark results of how much can be potentially gained.

Java and NGINX Microcaching - An Example of speeding your Tomcat deployments

Many times we do very complicated things just to make our application handle more transactions. For example:
  • Tuning database design and queries to lighten database work
  • Use of table index and partitions for efficient database operations
  • Database clustering to increase throughput of database server
  • Caching of database results on the Java application level, to reduce communication and also database work.
  • Clustering of application server
And there are many others.

Preparing a Linux development server

Regardless if you are working on a team or as a single developer, it is beneficial that you set-up your own development server. You can use this for code repository, project management tool, or application server. For single developer, or for those working remotely with a team, renting a dedicated server or VPS is a good choice. Because you can access your server in any location.

Simple Git project repository using just git and ssh

When git was new, gitosis is commonly used to manage git-based projects. At the present, gitolite has replaced gitosis in popularity. But if you are just a single developer, or a small team with very few projects, you don't need any of these. Just plain git and ssh is enough.
First, you will need to setup a development server. You can read and follow this tutorial to setup a debian-based server. To recap, you need at a minimum to setup a password-less login to your server.

Using Tomcat JNDI datasource when deploying Grails production war

When developing a grails application, it is acceptable to hard code the database connection in DataSource.groovy. But when you want to create a war and deploy it on an application server, it is better to use JNDI. This is more flexible because you can change the connection property in the application server, instead of creating a new war.

Configuring NGINX in front of Tomcat or other Java application server

NGINX is an awesome software that functions as both web server and as a reverse proxy. Sometimes you may need to configure it in front of your tomcat or other application server. There are many reasons but here are some common ones: