On coarse- vs. fine-grained synchronization

Performance related topics seem to constantly attract attention and everyone seems to have strong opinions on the matter. Writing code that can be proved [1] to perform according to a certain pattern is probably not the worst place to start with, although the web is full of counterintuitive [2] examples [3] where hardware details weigh … Continue reading On coarse- vs. fine-grained synchronization

Tomcat, Spring and memory leaks when undeploying or redeploying an web application

In this post I'll talk about a new kind of memory leak in Spring applications involving transaction management and initializing beans. About memory leaks when undeploying a web application While developing a web application with Spring and Tomcat I frequently run out of heap space. The web is full of stories about this. There is … Continue reading Tomcat, Spring and memory leaks when undeploying or redeploying an web application

Spring @Value and resolving property names with dots

I'm moving a legacy application (I seem to be doing that a lot recently) to Spring and injecting properties with @Value into Spring managed beans all over the place. And it doesn't work: public class SomeService{ @Value("#{the.org.namespace.someProperty}") private String someProperty; } Dots have apparently a special meaning, so this fails with a message that 'the' … Continue reading Spring @Value and resolving property names with dots

logging container-managed datasource jdbc with log4jdbc

In my new 'old' project which I just inherited there is - once more - Hibernate and plain JDBC access to a database, happily mixed. Hibernate logs SQL nicely, but that leaves out whatever datbase access the rest of the application is performing. I found log4jdbc very convenient which allows fain-grained logging over every interaction … Continue reading logging container-managed datasource jdbc with log4jdbc