Interface ManagedBeanSettings
- All Known Subinterfaces:
AvailableSettings
- All Known Implementing Classes:
Environment
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringControls whether Hibernate can try to create beans other than converters and listeners using CDI.static final StringIdentifies aBeanContainerto be used.static final StringDeprecated.static final StringUsed in conjunction with "hibernate.resource.beans.container" when CDI is used.static final StringUsed to pass a CDIBeanManagerto Hibernate.
-
Field Details
-
JAKARTA_CDI_BEAN_MANAGER
Used to pass a CDIBeanManagerto Hibernate.According to the JPA specification, the
BeanManagershould be passed at boot time and be ready for immediate use at that time. But not all environments can do this (WildFly, for example). To accommodate such environments, Hibernate provides two options:- A proprietary CDI extension SPI (which has been proposed to the CDI
spec group as a standard option) which can be used to provide delayed
BeanManageraccess: to use this solution, the reference passed as theBeanManagerduring bootstrap should be typed asExtendedBeanManager. - Delayed access to the
BeanManagerreference: here, Hibernate will not access the reference passed as theBeanManagerduring bootstrap until it is first needed. Note, however, that this has the effect of delaying the detection of any deployment problems until after bootstrapping.
BeanManager, either directly, or viaExtendedBeanManager.- See Also:
- A proprietary CDI extension SPI (which has been proposed to the CDI
spec group as a standard option) which can be used to provide delayed
-
BEAN_CONTAINER
Identifies aBeanContainerto be used.Note that for CDI-based containers setting this is not necessary - simply pass the
BeanManagerto use viaJAKARTA_CDI_BEAN_MANAGERand optionally specifyDELAY_CDI_ACCESS. This setting is useful to integrate non-CDI bean containers such as Spring.- Since:
- 5.3
- See Also:
-
DELAY_CDI_ACCESS
Used in conjunction with "hibernate.resource.beans.container" when CDI is used.By default, to be JPA spec compliant, Hibernate should access the CDI
BeanManagerwhile bootstrapping theSessionFactory. In some cases however this can lead to a chicken/egg situation where the JPA provider immediately accesses theBeanManagerwhen managed beans are awaiting JPA PU injection.This setting tells Hibernate to delay accessing until first use.
This setting has the decided downside that bean config problems will not be done at deployment time, but will instead manifest at runtime. For this reason, the preferred means for supplying a CDI BeanManager is to provide an implementation of
ExtendedBeanManagerwhich gives Hibernate a callback when theBeanManageris ready for use.- Since:
- 5.0.8
- See Also:
-
ALLOW_EXTENSIONS_IN_CDI
Controls whether Hibernate can try to create beans other than converters and listeners using CDI. Only meaningful when a CDIcontaineris used.By default, Hibernate will only attempt to create converter and listener beans using CDI.
- Since:
- 6.2
- See Also:
-
CDI_BEAN_MANAGER
Deprecated.UseJAKARTA_CDI_BEAN_MANAGERinstead- See Also:
-
JAKARTA_CDI_BEAN_MANAGERinstead