I've been having some great success using Javassist and, since my project is open-source, I thought I'd share.
HiveMind (http://jakarta.apache.org/commons/sandbox/hivemind) is a services and configuration microkernel. It's another in the breed of light-weight containers that are all the rage right now ... with a bunch of unique ideas of its own.
A key aspect of HiveMind is services; POJOs that implement a service. On top of this are interceptors, dynamically generated classes (using Javassist) that wrap the POJO with new features (logging, performance monitoring, etc.)
Check out ServiceInterceptorFactoryinterface, and its implementations.
I hit one or two little gotchas getting this far, but they're all documented in code. Code that people just might want to see ...