Custom Tags in JSP are not magic. They are just a cleaner way to say the same things we keep repeating in views. Today I want to cover when they are worth writing and how to pull them off without pain. This is day to day stuff from the trenches,…
Category: Software Architecture
System design patterns, architectural decisions, and scalability strategies. Building robust, performant systems that stand the test of time.
Tuning Classloaders and JDBC in WebSphere
A late night fix that saved a release The deployment finished just before midnight. We had pizza, a green light from QA, and a room full of tired grins. Fifteen minutes later the pager went off and the logs shouted ClassNotFoundException for a library that had worked on every developer…
Migrating Struts to JSF: A Field Note
Why move from Struts to JSF at all Struts has been the workhorse for years. Action classes, forwards, Tiles, and a pile of taglibs got many of us to production. It still ships on every team server I visit. JSF is arriving with vendor love and a component story that…
Messaging with JMS: Async without Fear
Messaging 101 with JMS: Async without Fear. I have been bouncing between web apps stuffed with AJAX and talks about services all week, and a theme keeps coming up in teams I visit: async is scary. People picture threads, stuck sockets, and mystery bugs at 2 AM. It does not…
FreeMarker in Email and PDFs
\n I spent last night chasing a weird email bug. A JSP based template was adding a rogue space in the invoice total. Outlook showed 12 345.67 while Gmail showed 12345.67. I finally moved the email to FreeMarker, gave the numbers a proper format, and the ghost space vanished. Same…