Changing Log4j logging levels dynamically

Production issue comes screaming at you at 2am. Red-eyed you open your laptop and check the server logs. You see only minimal logging. After checking other areas such as database, network, machine health, etc., you wish you could turn on more debug logs. Turns out your development team did not provide you a feature to change log levels on the fly. Only way you can do that is to restart the application servers. Ok developers don’t let that happen to you or your ops team. Continue reading →

Agile What !!

One of the things on the hype train is agile development. We have started calling common sense development as agile development. Fair enough. We need to characterize and refer to this type of development model and the word agile fits. I am all in favor of agile development but what most people miss is that the success of an agile project not only depends on the development team embracing agility but also the business users and the client stakeholders doing the same.  Continue reading →

EJB3 Interceptors

Thought I’d give EJB3 interceptors a shot today.  Only class level and method level interceptors are allowed. No rich AspectJ (or jboss-aop) style support. No rich pointcut language. Spring 2.0 is much better in this regards. But like I said before, for most applications what EJB3provides is more than enough. Even Spring prior to 2.0 had only limited AOP support (Method level). Continue reading →

Tapestry 4

Are there too many web frameworks out there? Well for those in the know the answer will be a resounding yes. Which one to pick up has become really a painful decision! Once you take one path you cannot just switch the framework mid-way. There is always the good old Struts framework. But that seems to be “oh not so fashionable nowadays”. Ah that ‘Ruby on Rails’ … and then you can sift through the web to find its java inspired half-brother. Or should we Seam with JBoss Seam? Though in all fairness JBoss Seam cannot be called just a web framework. It is a complete framework for front-end and back-end development. Continue reading →