Multi-tenant SaaS Platform – Introduction

Preface So, I was approached by a small group to help them create a Multi-tenant SaaS platform which will serve as a B2B solution in their area of business. Without wasting much time in the preface lets just try to jump into the real thing. There are many parts to such a platform. However, it would be wise to not assume that the readers know about all these terms. Here is a small explanation about the first line of the post. B2B solution A kind of business solution which is offered to businesses and not necessarily to end consumers. This also means that our customers would be businesses ...
Read More

Java 8 Date Time API Usage

Introduction Every effort we put in to showcase the extent of Java 8 Date Time API usage leaves us only scratching the surface of it. This post walks through a couple of examples and some standard methods that can be helpful in daily use. Timezone aspects are not covered in this post. Refer to this post to for an introduction to Java 8 Date Time API. Old And The New Let us see how date formatting code changes with the new Java 8 Date Time API. If you landed directly on this post, we recommend reading this introductory post first. public static final ThreadLocal<SimpleDateFormat> FILE...
Read More

Java 8 Date Time API

What ailed Date and Time handling in Java? The existing java.util.Date and SimpleDateFormat are mutable and not thread-safe, more often than not, leading to concurrency issues for users. Having to deal with this overhead is not welcoming for novice developers. Inconsistent API (months starting at 1 while days start at 0), no ability to handle Time alone, no utilities like plus/minus dates lead to popularity of libraries like joda-time. Many enterprise products use joda-time, when date/time usage and manipulation should have been provided by the language which was in it's 7th iteration (person...
Read More

Try With Resources in Java 7 and Above

Introduction Try with Resources in Java 7 and above allows for automatic closing of resources that implement java.lang.AutoCloseable or the more familiar java.io.Closeable (which extends AutoCloseable) Anyone through a basic Java course will be familiar with this block of code. Open a text file to write data and close it when done. void writeToFileLegacy(String filename) throws IOException { FileOutputStream fos = null; try { fos = new FileOutputStream(filename); fos.write(48); } finally { if (fos != null) { fos.close(); } } } The method attempts to write to a fi...
Read More

Injecting Prototype Beans in Singletons

Introduction This is a series and it would make a lot of sense if read in a sequence. You can find all the posts under the heading "Spring Beginners to Professionals". In the previous posts,we talked about scopes of Spring beans. Now as there are many different scopes, the basic problem which arises is injecting prototype beans in singletons. We can also define this problem in a more general way, say collaboration between beans of different scopes. Injecting Prototype Beans in Singletons By now we have learnt that the dependency injection happens when the container starts. All the singleton...
Read More