What is YAAFI?
The Yet Another Avalon Framework Implementation of an Avalon container.
YAAFI is a light-weight implementation of a service framework using the
Avalon service lifecycle interfaces aka Avalon container. There are a
few other implementations out there such as Phoenix, Fortress, Loom,
Keel and Merlin but YAAFI gives you a lot of bells and whistles with minimal baggage.
The goal of the implementation is to provide a light-weight Avalon container
to be embedded into existing applications and/or other containers.
What we left out
- logger manager implementation since this is done by log4j quite nicely
- run-time instrumentation to monitor application health
- service implementation versioning
- service initialization in a background thread
- no support for lifestyle other than Singleton
- classloader hierarchies for components
- service selector implementation
- no javadoc tag support for automatically creating component decriptors
What we actually implemented
- a light-weight Avalon container only depending an the Avalon Framework libraries
- a container which can run components written for ECM, Fortress, Phoenix and Merlin
- ability to be embedded in other Avalon containers such as Phoenix
- automatic reconfiguration for the whole Avalon container or individual services
- automatic shutdown of the whole Avalon container
- support for early or on-demand initialization
- support for encrypted configuration files
- dynamic proxies and service interceptors
- dynamic expansion of variables found in the component configuration file
The rest of the Avalon universe
Fortress is another Avalon container under the
Apache umbrella. It is also targeted to be embedded into existing
Loom is another Avalon based micro-kernel
derived from Phoenix
Metro was meant as unification
of Avalon containers but moved away from Apache.
Plexus another light-weight being
able to run Avalon components.
Xingu is a Avalon-based