Class JpaCompliantLifecycleStrategy

  • All Implemented Interfaces:
    BeanLifecycleStrategy

    public class JpaCompliantLifecycleStrategy
    extends Object
    implements BeanLifecycleStrategy
    A BeanLifecycleStrategy to use when JPA compliance is required (i.e. when the bean lifecycle is to be managed by the JPA runtime, not the CDI runtime). The main characteristic of this strategy is that each requested bean is instantiated directly and guaranteed to not be shared in the CDI context. In particular, @Singleton-scoped or @ApplicationScoped beans are instantiated directly by this strategy, even if there is already an instance in the CDI context. This means singletons are not really singletons, but this seems to be the behavior required by the JPA 2.2 spec.