Friday, July 25, 2014

JMeter and WebSphere MQ Series integration

    JMeter is a popular tool for executing load tests. There is much information about it on the web. However, integration of JMeter with WebSphere MQ Series (JMS provider) is not that common. Let's try to do it!

Wednesday, July 23, 2014

Ignore particular tests on failure with JUnit

    Why on earth would you like to ignore some tests if they failed?! - you may ask. If they failed they must be red and they must draw your attention or even cut your fingers. In general, it is true. However, there is no ALWAYS and there is no NEVER.

Sunday, June 22, 2014

Simple in-memory caching with Spring 3.2 and Google Guava

    There was a proposal (not really original :)) that we can use cache to relieve external system and make our own system faster. It should be a really simple in-memory cache without any replication and fancy mechanisms. It should only have max-number-of-elements and expiration-time-after-write properties. Can that requirement be implemented in Spring easily?

Thursday, June 12, 2014

A gentle touch of functional programming with Java 8 - prime numbers

    'Functional programming' are buzz words nowadays. Let's try to play a little bit with that. The only assumption of this post is... to have some fun :).

Saturday, May 31, 2014

Multiple SOAP headers in Apache Camel's Spring WS endpoint

    Life is all about abstraction. When you read this article you do not think about electrical impulses which travel through your brain between synapses. When you drive a car you do not need to know the internal details on how it works. By no doubt abstraction is good. But is it always that good?

Tuesday, May 6, 2014

Liquibase and PL/SQL with Oracle DB

If you have ever dreamed about Continuous Delivery (CD) you surely thought about deployment which is fully automated. It implies automated management of database scripts. With the help provided by Liquibase it is easy to add some automation to database change sets deployment. However, there is a small downside in Liquibase implementation that makes it a little bit trickier to execute PL/SQL pieces.

Tuesday, February 25, 2014

NoSuchMethodError and binary compatibility

    Some time ago I received NoSuchMethodError when I was dealing with multiple versions of the same library. I decided to dig into mentioned error's root cause.

Sunday, February 2, 2014

Memory leak detection in a real world application

    Some time ago I was performing a soak test of the application in order to minimize the possibility of problems after final production deployment. I discovered some interesting facts.

Friday, December 27, 2013

Design patterns in validation

    Validation is a pretty common business requirement. We need to be sure that the input data is valid and remember that: junk in -> junk out. Let's say that we want to validate a request object. The easiest way is to produce a big chunk of IF statements. Do you like that IF ... IF ... IF ... blocks one after another? I hate them. So how to deal with validation?

Saturday, December 7, 2013

Are connectTimeout and readTimeout enough for a good night's sleep?

    When it comes to communication with external resources we need to be sure that reasonable timeouts were set. Network is like a black hole - we send a request and many bad things can happen. Without timeouts our thread pool can saturate because of threads stuck deep inside socket read method. It is usual to set connect timeout and read timeout. But is it enough? Can we have a good night's sleep when connect and read timeouts are set in our application? Let's check!