Top Description Inners Fields Constructors Methods
org.hibernate.resource.beans.container.internal

public Class JpaCompliantLifecycleStrategy

extends Object
implements BeanLifecycleStrategy
Class Inheritance
All Implemented Interfaces
org.hibernate.resource.beans.container.spi.BeanLifecycleStrategy
Imports
java.util.Set, jakarta.enterprise.context.spi.CreationalContext, jakarta.enterprise.inject.spi.AnnotatedType, .Bean, .BeanManager, .InjectionTarget, org.hibernate.resource.beans.container.spi.BeanContainer, .BeanLifecycleStrategy, .ContainedBeanImplementor, org.hibernate.resource.beans.spi.BeanInstanceProducer, org.jboss.logging.Logger

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.

Nested and Inner Type Summary

Modifier and TypeClass and Description
private static class
private static class

Field Summary

Modifier and TypeField and Description
public static final JpaCompliantLifecycleStrategy
private static final Logger

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
public <B> ContainedBeanImplementor<B>
public <B> ContainedBeanImplementor<B>
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

INSTANCEback to summary
public static final JpaCompliantLifecycleStrategy INSTANCE
logback to summary
private static final Logger log

Constructor Detail

JpaCompliantLifecycleStrategyback to summary
private JpaCompliantLifecycleStrategy()

Method Detail

createBeanback to summary
public <B> ContainedBeanImplementor<B> createBean(Class<B> beanClass, BeanInstanceProducer fallbackProducer, BeanContainer beanContainer)

Implements org.hibernate.resource.beans.container.spi.BeanLifecycleStrategy.createBean.

Annotations
@Override
createBeanback to summary
public <B> ContainedBeanImplementor<B> createBean(String beanName, Class<B> beanClass, BeanInstanceProducer fallbackProducer, BeanContainer beanContainer)

Implements org.hibernate.resource.beans.container.spi.BeanLifecycleStrategy.createBean.

Annotations
@Override
org.hibernate.resource.beans.container.internal back to summary

private Class JpaCompliantLifecycleStrategy.BeanImpl<B>

extends Object
implements ContainedBeanImplementor<B>
Class Inheritance
  • java.lang.Object
  • org.hibernate.resource.beans.container.internal.JpaCompliantLifecycleStrategy.BeanImpl
All Implemented Interfaces
org.hibernate.resource.beans.container.spi.ContainedBeanImplementor, org.hibernate.resource.beans.container.spi.ContainedBean

Field Summary

Modifier and TypeField and Description
private B
private BeanManager
private final Class<B>
private CreationalContext<B>
private final BeanInstanceProducer
private InjectionTarget<B>

Constructor Summary

AccessConstructor and Description
public
BeanImpl(Class<B> beanType, BeanInstanceProducer fallbackProducer, BeanManager beanManager)

Method Summary

Modifier and TypeMethod and Description
public B
getBeanInstance()

Implements org.hibernate.resource.beans.container.spi.ContainedBean.getBeanInstance.

Get the bean instance producer associated with this container-backed bean
public void
initialize()

Implements org.hibernate.resource.beans.container.spi.ContainedBeanImplementor.initialize.

Allow the container to force initialize the lifecycle-generated bean
public void
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

beanInstanceback to summary
private B beanInstance
beanManagerback to summary
private BeanManager beanManager
beanTypeback to summary
private final Class<B> beanType
creationalContextback to summary
private CreationalContext<B> creationalContext
fallbackProducerback to summary
private final BeanInstanceProducer fallbackProducer
injectionTargetback to summary
private InjectionTarget<B> injectionTarget

Constructor Detail

BeanImplback to summary
public BeanImpl(Class<B> beanType, BeanInstanceProducer fallbackProducer, BeanManager beanManager)

Method Detail

getBeanInstanceback to summary
public B getBeanInstance()

Implements org.hibernate.resource.beans.container.spi.ContainedBean.getBeanInstance.

Doc from org.hibernate.resource.beans.container.spi.ContainedBean.getBeanInstance.

Get the bean instance producer associated with this container-backed bean

Annotations
@Override
initializeback to summary
public void initialize()

Implements org.hibernate.resource.beans.container.spi.ContainedBeanImplementor.initialize.

Doc from org.hibernate.resource.beans.container.spi.ContainedBeanImplementor.initialize.

Allow the container to force initialize the lifecycle-generated bean

Annotations
@Override
releaseback to summary
public void release()

Implements org.hibernate.resource.beans.container.spi.ContainedBeanImplementor.release.

Doc from org.hibernate.resource.beans.container.spi.ContainedBeanImplementor.release.

Release any resources

Annotations
@Override
org.hibernate.resource.beans.container.internal back to summary

private Class JpaCompliantLifecycleStrategy.NamedBeanImpl<B>

extends Object
implements ContainedBeanImplementor<B>
Class Inheritance
  • java.lang.Object
  • org.hibernate.resource.beans.container.internal.JpaCompliantLifecycleStrategy.NamedBeanImpl
All Implemented Interfaces
org.hibernate.resource.beans.container.spi.ContainedBeanImplementor, org.hibernate.resource.beans.container.spi.ContainedBean

Field Summary

Modifier and TypeField and Description
private Bean<B>
private B
private BeanManager
private final String
private final Class<B>
private CreationalContext<B>
private final BeanInstanceProducer

Constructor Summary

AccessConstructor and Description
private
NamedBeanImpl(String beanName, Class<B> beanType, BeanInstanceProducer fallbackProducer, BeanManager beanManager)

Method Summary

Modifier and TypeMethod and Description
public B
getBeanInstance()

Implements org.hibernate.resource.beans.container.spi.ContainedBean.getBeanInstance.

Get the bean instance producer associated with this container-backed bean
public void
initialize()

Implements org.hibernate.resource.beans.container.spi.ContainedBeanImplementor.initialize.

Allow the container to force initialize the lifecycle-generated bean
public void
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

beanback to summary
private Bean<B> bean
beanInstanceback to summary
private B beanInstance
beanManagerback to summary
private BeanManager beanManager
beanNameback to summary
private final String beanName
beanTypeback to summary
private final Class<B> beanType
creationalContextback to summary
private CreationalContext<B> creationalContext
fallbackProducerback to summary
private final BeanInstanceProducer fallbackProducer

Constructor Detail

NamedBeanImplback to summary
private NamedBeanImpl(String beanName, Class<B> beanType, BeanInstanceProducer fallbackProducer, BeanManager beanManager)

Method Detail

getBeanInstanceback to summary
public B getBeanInstance()

Implements org.hibernate.resource.beans.container.spi.ContainedBean.getBeanInstance.

Doc from org.hibernate.resource.beans.container.spi.ContainedBean.getBeanInstance.

Get the bean instance producer associated with this container-backed bean

Annotations
@Override
initializeback to summary
public void initialize()

Implements org.hibernate.resource.beans.container.spi.ContainedBeanImplementor.initialize.

Doc from org.hibernate.resource.beans.container.spi.ContainedBeanImplementor.initialize.

Allow the container to force initialize the lifecycle-generated bean

Annotations
@Override
@SuppressWarnings:unchecked
releaseback to summary
public void release()

Implements org.hibernate.resource.beans.container.spi.ContainedBeanImplementor.release.

Doc from org.hibernate.resource.beans.container.spi.ContainedBeanImplementor.release.

Release any resources

Annotations
@Override