public class JpaCompliantLifecycleStrategy extends Object implements BeanLifecycleStrategy
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.Modifier and Type | Field and Description |
---|---|
static JpaCompliantLifecycleStrategy |
INSTANCE |
Modifier and Type | Method and Description |
---|---|
<B> ContainedBeanImplementor<B> |
createBean(Class<B> beanClass,
BeanInstanceProducer fallbackProducer,
BeanContainer beanContainer) |
<B> ContainedBeanImplementor<B> |
createBean(String beanName,
Class<B> beanClass,
BeanInstanceProducer fallbackProducer,
BeanContainer beanContainer) |
public static final JpaCompliantLifecycleStrategy INSTANCE
public <B> ContainedBeanImplementor<B> createBean(Class<B> beanClass, BeanInstanceProducer fallbackProducer, BeanContainer beanContainer)
createBean
in interface BeanLifecycleStrategy
public <B> ContainedBeanImplementor<B> createBean(String beanName, Class<B> beanClass, BeanInstanceProducer fallbackProducer, BeanContainer beanContainer)
createBean
in interface BeanLifecycleStrategy
Copyright © 2021 JBoss by Red Hat. All rights reserved.