ReloadablePropertiesFactoryBean: Beware of Caching

As Glenn pointed out, reloading properties is futile if the servlet engine returns an unchanged copy of the property file from its resource cache.

We need to find the real file anyway to check its last modification date, so overriding “loadProperties” to read from the file system absolutely makes sense.

Here’s an updated version, which correctly handles reloading of properties also from a ServletContextResource.

Download

Brechreiz

Der Brechzeiz hilft Dir, Dinge wieder von Dir zu geben, bevor sie Dir schaden können, die Du unbedacht oder arglos tief in Dein Innerstes aufgenommen hast.
Schwächere Formen des Brechreizes sind: Weinen; Lachen; Lästern; Nacherzählen; Argumentieren; Analysieren.
Was Du verstanden hast, kann Dir nicht schaden.

Glossary of Courage

Programming is all about confronting the unknown.

FDD – Fear Driven Development

AOP – Angst Oriented Programming

DSL – Dread Specific Language

MDA – Mental Disorder Architecture

RAD – Reckless Application Development

XP – Jesus Christ!

E2.0 – Escapism 2.0

Thanks for the inspiring discussion, mabuse.

Ki in die Beine schicken!

Vier Wochen lang habe ich jetzt das Aikido-Training geschwänzt… Und bin auch noch stolz drauf: auf einen Durchschnitt von über 35km/h auf 100km bei meinem ersten Radrennen, mit einer Zeit unter drei Stunden (2:48:30) und einer Platzierung oberhalb des Altersklassen-Durchschnitts. Das war natürlich nur möglich, weil meine Teamkollegen mich so kräftig gezogen haben – wir sind tatsächlich bis zur Köhlbrandbrücke zusammengeblieben. Für die Aussicht oben habe ich mir dann etwas mehr Zeit genommen…

Ich kann mir gut vorstellen, dass der Zustand “Fahrradrennen” süchtig macht. Wenn alle um Dich herum über 40 km/h auf ebener Erde fahren, findest Du’s irgendwann total normal – Dank Windschatten und passender Ausrüstung kann das geradezu gemütlich sein. Das Gefühl, in einer Rotte gleichgesinnter ungestört von Ampeln und Autos über breite und gut asphaltierte Straßen zu sausen, ist kaum zu beschreiben. Es geht auf jeden Fall schnell, und ist dann viel zu schnell vorbei.

Wir fahren!

Sobald ich mich ein bisschen erholt hab geht’s aber zurück ins Dojo – um mal die unwichtigsten Gründe zu nennen: mein geliebtes Aikido tut was für den ganzen Körper und nicht nur für die Beine, die Stürze sind kontrollierter, und man kann trotz Hamburger Schmuddelwetter regelmäßig trainieren.

Messy Scheme

If you start by planning to add lots of features, add them in ways that introduce weaknesses and restrictions, then refuse to remove or replace any of your additions as a way of repairing the damage, you end up with a mess that piles workaround on top of workaround and calls them features.

Scheme, like Java, (like me?) is growing up and losing focus.