spring boot

Multi tenancy task scheduler

Last time I showed how to extend Spring default request handler adapter so that we are able to schedule or reject incoming requests. The goal of the is to: queue requests for processing limit the maximum number of concurrently processed requests reject requests after the maximum queue size is reached interrupt…

Read

Multi tenancy in Spring MVC

One of our clients aimed to replace old, often DOS based, point of sale systems with a cloud based, SaaS modeled solution. [At Bright Inventions]({{ site.url }}) we have developed all required components including AWS based back-end processing requests originating from multiple clients. Each business that uses the SaaS…

Read

Request timeouts in Spring MVC

As we saw previously, we only have limited options to configure maximum time a request processing can take in Spring MVC. In this post I will show how to enforce such timeout through a custom Servlet Filter. Request timeout Servlet Filter Without further ado let us dive right into a sample filter implementation in…

Read

Request timeouts in Spring MVC

Last time we reviewed how to configure HTTP client timeouts. This time let us focus on the other side of the HTTP request i.e. server. There is pretty much always a thread pool involved when we write a Spring MVC application. The thread pool configuration will vary depending on particular servlet container (Tomcat…

Read

The importance of timeouts

Timeouts are not an exciting thing to talk about. They do not add immediately perceivable value. They are difficult to guess get right and force one to consider problems that are hard to solve. In fact, in my experience, the timeout is only ever considered when our software stops working or is about to. That is an…

Read

How to clear database in Spring Boot tests?

Nowadays using a production like database in unit1 tests is a common practice. Calling a real database can increase our confidence that a tested code actually works. Having said that a database, by its very nature, brings external state into a test that will affect its behavior, hence we need to pay special attention…

Read