Weld is the reference implementation (RI) for JSR-299: Java Contexts and Dependency Injection for the Java EE platform (CDI). CDI is the Java standard for dependency injection and contextual lifecycle management, led by Gavin King for Red Hat, Inc. and is a Java Community Process (JCP) specification that integrates cleanly with the Java EE platform. Any Java EE 6-compliant application server provides support for JSR-299 (even the web profile).
Weld and the JSR-299 TCK (Technology Compatibility Kit) are developed here at seamframework.org. Both are licensed under the Apache License, Version 2.0.
Special thanks to Piero Sartini who came up with this alternative. It is basically the same as the previous alternative, but it uses the new JEE6 Context and Dependency Injection (CDI) and session scoped beans instead of EJBs. This alternative should have better performance than using EJBs.
Instead of annotating the Vaadin application as a stateful session bean, it should be annotated using the @SessionScoped annotation, like so:
A library of Generally Useful Stuff (tm) for developing applications, extensions or frameworks based on CDI (JSR-299: Java Contexts and Dependency Injection).
A swiss army knife for CDI extension writers.
iPOJO is a service component runtime aiming to simplify OSGi application development. It natively supports ALL the dynamism of OSGi. Based on the concept of POJO, application logic is developed easily. Non-functional properties are just injected in the component at runtime.
iPOJO strength points are :
components are developed as POJO, nothing else is required !
the component model is extensible, so feel free to adapt it to your needs
the standard component model manages service providing and service dependencies, and so can require any other OSGi services
iPOJO manages the component instance lifecycle and the environment dynamics as it has never been possible
iPOJO provides a powerful composition system to create highly dynamic applications
iPOJO supports annotations, XML or Java-based API to define the component