Tech Talk

Digital Transformation, Artificial Intelligence, Machine Learning, IoT, Big Data Analytics, Enterprise Architecture, Performance Engineering, Security, Design and Development tips on Java and .NET platforms.

Saturday, October 21, 2017

Object pooling made simple using Apache Commons Pool2

›
If you are looking for a quick implementation of an object pool, then look no further than the excellent Apache Commons Pool2 implementatio...
Friday, October 20, 2017

Caching Simplified - Magic of Spring Annotations - Part 2

›
In the previous blog-post , we saw how we can enable caching with the magic of annotations. Now, let's consider how to evict the cache...

Caching Simplified - Magic of Spring Annotations

›
Spring Boot makes is super simple to add caching abilities to your application. With just a few lines of code and some annotation magic, yo...
Tuesday, October 17, 2017

Circular Dependencies in Spring Boot

›
Recently one of my team member was struggling with a strange issue in Spring Boot. The application was running fine on his local machine, b...
Tuesday, October 10, 2017

Generating secure keys for encryption

›
Very often, we need to create secure keys that can be used in digital signatures or for signing a JWT. It is very important to create a se...
Monday, October 09, 2017

Handling RabbitMQ broker re-connections

›
The RabbitMQ Java Client Library has default support for auto-recovery (since version 4.0.0). Hence the client will try to recover a broke...

Handling MQTT broker re-connections

›
Any client that connects to an MQTT broker needs the ability to handle a connection failure. The popular Eclipse Paho library now has sup...
Sunday, October 08, 2017

Ruminating on MQTT load balancing for scalable IoT event processing

›
MQTT brokers support the publish/subscribe paradigm. But what if you need to scale out the processing of MQTT messages over a cluster of no...

Database connection reconnection strategy

›
In any database connection pool, there is a risk of stale connections due to network outages or database server restarts. How do we refresh...
Saturday, October 07, 2017

Accessing Spring beans in a static method

›
Very often, we need to access a Spring bean in a static method. This is a bit tricky as you can only directly access static fields in a sta...

Spring beans annotations, scope and loading sequence

›
Spring beans can have different scopes as listed here  . By default, the scope is singleton and the bean is eagerly initialized on start-up...

Ruminating on Builder design pattern in Spring Security

›
While configuring Spring Security, you can use the properties file to configure the filters and other classes, but another popular option i...
Wednesday, October 04, 2017

Spring Sleuth Tips and Tricks

›
Spring Sleuth coupled with Zipkin in an excellent tool to measure the performance bottlenecks in your distributed microservices architectu...
Tuesday, October 03, 2017

Parsing an arbitrary JSON string and extracting values

›
Developers use libraries such as Jackson to convert JSON strings to Java objects and vice-versa. But what if you need to parse a JSON stri...
Monday, September 04, 2017

REST APIs for IoT?

›
Currently MQTT continues to be the most popular standard for IoT devices to communicate to the cloud. But for many scenarios, even REST can...
Wednesday, August 16, 2017

Cool open source tool for ER diagrams

›
Recently one of my colleagues introduced me to a cool Java tool called SchemaSpy . SchemaSpy is a java tool that can be used to create bea...
Monday, August 07, 2017

Ruminating on Telematics standards

›
While creating training material for our internal staff on telematics, we found the below site that gives a very good introduction to novic...
Monday, July 17, 2017

Performance benefits of HTTP/2

›
The HTTP/2 protocol brings in a lot of benefits in terms of performance for modern web applications. To understand what benefits HTTP/2 bri...
Sunday, July 16, 2017

Ruminating on DMN - a new modeling notation for business rules

›
We all know how the BPMN standard helped in interoperability of business process definitions across lines of business and also across organ...
Sunday, April 16, 2017

Ruminating on the single-threaded model of NodeJS and Node-RED

›
Many developers and architects have asked me questions on the single-threaded nature of NodeJS and whether we can use it effectively on mul...

Ruminating on a nifty tool called 'ngrok'

›
Many a times developers want to test their APIs running on their development machine against a mobile app. To do so, developers typically d...
Monday, February 13, 2017

IoT energy standards in Europe for Smart Home / Smart Grid

›
European governments are pretty energy conscious with a number of initiatives in the EMEA region around smart energy grids. Jotting down so...
Thursday, December 22, 2016

Ruminating on AMQP internals and JMS equivalent semantics

›
Many Java developers often use JMS APIs to communicate with the message broker. The JMS API abstracts away the internal implementation comp...
Thursday, December 01, 2016

Ruminating on non-blocking REST services

›
In a typical REST service environment, a thread is allocated to each incoming HTTP request for processing. So if you have configured your c...

Concurrency and scaling strategies for MDPs and MDBs

›
Message Driven Beans offer a lot of advantages over a standalone JMS consumer as listed in this blog-post . The Spring framework provides u...

Implementing a Request Response with Messaging (JMS)

›
Quite often, we need to implement a request/response paradigm on JMS - e.g. calling a backend function on a mainframe or a third-party inte...
Monday, November 14, 2016

Ruminating on AMQP vs MQTT

›
While working on IoT projects, a lot of our customers ask us to recommend the open protocol to be used between the remote devices and the c...
Monday, October 24, 2016

Printing an object's properties for debug purposes

›
Quite often, we override the 'toString()' method of an object to print its properties. But there are a number of reusable utilities...
Monday, October 17, 2016

Ruminating on staffing for 24*7 support

›
Many production applications need 24*7 support. So how many resources do we need to support an application round the clock? The below simpl...
Wednesday, August 17, 2016

Load Testing Tools for IoT platforms over MQTT

›
While IoT platforms can be tested using traditional load testing tools if standard protocols such as HTTP are used, there are a suite of ot...
‹
›
Home
View web version
Powered by Blogger.