Particularly in case of component architectures that use development
environments to generate adapters to wire the components (e.g.,
JavaBeans [#!jb101!#]), slightly extending the development
environments is sufficient to achieve an automated instrumentation.
When creating an adapter, the development environment must insert
calls to the measurement agent into the adapter just before calling
the target component and immediately after returning from the call. In
case of exception-based error handling, catching (and re-throwing)
exceptions even allows to distinguish between successful and failed
subtransactions. A detailed description of the required extensions for
the Java Beanbox is given in section .