[hibernate-commits] [hibernate/hibernate-orm] b3ac2f: HHH-12133 Move CDI lifecycle management code to de...

GitHub noreply at github.com
Tue Jan 16 14:28:53 EST 2018


  Branch: refs/heads/master
  Home:   https://github.com/hibernate/hibernate-orm
  Commit: b3ac2feddf57794b34a1fcd08c0bf768124ca3c3
      https://github.com/hibernate/hibernate-orm/commit/b3ac2feddf57794b34a1fcd08c0bf768124ca3c3
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2018-01-16 (Tue, 16 Jan 2018)

  Changed paths:
    A hibernate-core/src/main/java/org/hibernate/resource/beans/internal/CdiLifecycleManagementStrategy.java
    M hibernate-core/src/main/java/org/hibernate/resource/beans/internal/Helper.java
    A hibernate-core/src/main/java/org/hibernate/resource/beans/internal/JpaCdiLifecycleManagementStrategy.java
    M hibernate-core/src/main/java/org/hibernate/resource/beans/internal/ManagedBeanRegistryCdiDelayedImpl.java
    M hibernate-core/src/main/java/org/hibernate/resource/beans/internal/ManagedBeanRegistryCdiExtendedImpl.java
    M hibernate-core/src/main/java/org/hibernate/resource/beans/internal/ManagedBeanRegistryCdiStandardImpl.java
    A hibernate-core/src/main/java/org/hibernate/resource/beans/internal/StandardCdiLifecycleManagementStrategy.java
    A hibernate-core/src/main/java/org/hibernate/resource/beans/internal/UnnamedRegistryScopedManagedBeanImpl.java

  Log Message:
  -----------
  HHH-12133 Move CDI lifecycle management code to dedicated strategies

This commit should not change the current behavior, it is only about
moving code to separate classes to make the following changes clearer.


  Commit: edc0039afc62078171c1270dd2eaec8fb944c7e3
      https://github.com/hibernate/hibernate-orm/commit/edc0039afc62078171c1270dd2eaec8fb944c7e3
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2018-01-16 (Tue, 16 Jan 2018)

  Changed paths:
    M hibernate-core/src/main/java/org/hibernate/resource/beans/internal/Helper.java
    M hibernate-core/src/main/java/org/hibernate/resource/beans/internal/JpaCdiLifecycleManagementStrategy.java
    M hibernate-core/src/main/java/org/hibernate/resource/beans/internal/ManagedBeanRegistryCdiDelayedImpl.java
    M hibernate-core/src/main/java/org/hibernate/resource/beans/internal/ManagedBeanRegistryCdiExtendedImpl.java
    M hibernate-core/src/main/java/org/hibernate/resource/beans/internal/ManagedBeanRegistryCdiStandardImpl.java
    M hibernate-core/src/main/java/org/hibernate/resource/beans/internal/ManagedBeanRegistryDirectImpl.java
    M hibernate-core/src/main/java/org/hibernate/resource/beans/internal/StandardCdiLifecycleManagementStrategy.java
    M hibernate-core/src/main/java/org/hibernate/resource/beans/spi/AbstractManagedBeanRegistry.java

  Log Message:
  -----------
  HHH-12133 Comply with API docs with respect to lifecycle management depending on the 'shouldRegistryManageLifecycle' parameter

The registry should not manage the bean lifecycle when
'shouldRegistryManageLifecycle' is false. The easiest way to do so is to
use BeanManager.createInstance to retrieve beans in the Standard CDI lifecycle
strategy: it correctly retrieves singletons from the CDI context instead
of instantiating them again.

Also, fix javax.enterprise.inject.spi.Bean-based instance destructions:
we used to only request destruction to the creational context, which is
wrong because it may skip the execution of @PostDestroy methods in
particular.


  Commit: bc304235a67081c7c0167410e0a780410dfe28a6
      https://github.com/hibernate/hibernate-orm/commit/bc304235a67081c7c0167410e0a780410dfe28a6
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2018-01-16 (Tue, 16 Jan 2018)

  Changed paths:
    M hibernate-core/src/main/java/org/hibernate/resource/beans/internal/Helper.java
    M hibernate-core/src/main/java/org/hibernate/resource/beans/internal/JpaCdiLifecycleManagementStrategy.java

  Log Message:
  -----------
  HHH-12133 Use the BeanManager-provided ambiguous dependency resolution when possible

This should take care of @Alternative in particular.


  Commit: be6ac17d1e42487969477914592982c428ee493d
      https://github.com/hibernate/hibernate-orm/commit/be6ac17d1e42487969477914592982c428ee493d
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2018-01-16 (Tue, 16 Jan 2018)

  Changed paths:
    M hibernate-core/src/main/java/org/hibernate/resource/beans/internal/StandardCdiLifecycleManagementStrategy.java

  Log Message:
  -----------
  HHH-12133 Ignore managed bean release errors related to already released beans


  Commit: ce93f2cdd273af2377de1c08f6a28276dcefea67
      https://github.com/hibernate/hibernate-orm/commit/ce93f2cdd273af2377de1c08f6a28276dcefea67
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2018-01-16 (Tue, 16 Jan 2018)

  Changed paths:
    A hibernate-core/src/test/java/org/hibernate/test/cdi/nonregistrymanaged/Monitor.java
    A hibernate-core/src/test/java/org/hibernate/test/cdi/nonregistrymanaged/NonRegistryManagedBeanConsumingIntegrator.java
    A hibernate-core/src/test/java/org/hibernate/test/cdi/nonregistrymanaged/TheAlternativeNamedApplicationScopedBeanImpl.java
    A hibernate-core/src/test/java/org/hibernate/test/cdi/nonregistrymanaged/TheAlternativeNamedDependentBeanImpl.java
    A hibernate-core/src/test/java/org/hibernate/test/cdi/nonregistrymanaged/TheApplicationScopedBean.java
    A hibernate-core/src/test/java/org/hibernate/test/cdi/nonregistrymanaged/TheDependentBean.java
    A hibernate-core/src/test/java/org/hibernate/test/cdi/nonregistrymanaged/TheEntity.java
    A hibernate-core/src/test/java/org/hibernate/test/cdi/nonregistrymanaged/TheMainNamedApplicationScopedBeanImpl.java
    A hibernate-core/src/test/java/org/hibernate/test/cdi/nonregistrymanaged/TheMainNamedDependentBeanImpl.java
    A hibernate-core/src/test/java/org/hibernate/test/cdi/nonregistrymanaged/TheNamedApplicationScopedBean.java
    A hibernate-core/src/test/java/org/hibernate/test/cdi/nonregistrymanaged/TheNamedDependentBean.java
    A hibernate-core/src/test/java/org/hibernate/test/cdi/nonregistrymanaged/TheNestedDependentBean.java
    A hibernate-core/src/test/java/org/hibernate/test/cdi/nonregistrymanaged/TheNonHibernateBeanConsumer.java
    A hibernate-core/src/test/java/org/hibernate/test/cdi/nonregistrymanaged/TheSharedApplicationScopedBean.java
    A hibernate-core/src/test/java/org/hibernate/test/cdi/nonregistrymanaged/delayed/NonRegistryManagedDelayedCdiSupportTest.java
    A hibernate-core/src/test/java/org/hibernate/test/cdi/nonregistrymanaged/extended/NonRegistryManagedExtendedCdiSupportTest.java
    A hibernate-core/src/test/java/org/hibernate/test/cdi/nonregistrymanaged/package-info.java
    A hibernate-core/src/test/java/org/hibernate/test/cdi/nonregistrymanaged/standard/NonRegistryManagedStandardCdiSupportTest.java

  Log Message:
  -----------
  HHH-12133 Add tests for uses of ManagedBeanRegistry with shouldRegistryManageLifecycle = false


  Commit: 5460acd63a5d3105d126924efd6ee81059d1d497
      https://github.com/hibernate/hibernate-orm/commit/5460acd63a5d3105d126924efd6ee81059d1d497
  Author: Steve Ebersole <steve at hibernate.org>
  Date:   2018-01-16 (Tue, 16 Jan 2018)

  Changed paths:
    M hibernate-core/src/main/java/org/hibernate/boot/model/convert/internal/ClassBasedConverterDescriptor.java
    M hibernate-core/src/main/java/org/hibernate/cfg/AvailableSettings.java
    M hibernate-core/src/main/java/org/hibernate/jpa/event/internal/CallbackBuilderLegacyImpl.java
    M hibernate-core/src/main/java/org/hibernate/jpa/event/spi/jpa/ExtendedBeanManager.java
    A hibernate-core/src/main/java/org/hibernate/resource/beans/container/internal/CdiBasedBeanContainer.java
    A hibernate-core/src/main/java/org/hibernate/resource/beans/container/internal/CdiBeanContainerBuilder.java
    A hibernate-core/src/main/java/org/hibernate/resource/beans/container/internal/CdiBeanContainerDelayedAccessImpl.java
    A hibernate-core/src/main/java/org/hibernate/resource/beans/container/internal/CdiBeanContainerExtendedAccessImpl.java
    A hibernate-core/src/main/java/org/hibernate/resource/beans/container/internal/CdiBeanContainerImmediateAccessImpl.java
    A hibernate-core/src/main/java/org/hibernate/resource/beans/container/internal/ContainerManagedLifecycleStrategy.java
    A hibernate-core/src/main/java/org/hibernate/resource/beans/container/internal/JpaCompliantLifecycleStrategy.java
    A hibernate-core/src/main/java/org/hibernate/resource/beans/container/internal/NamedBeanQualifier.java
    A hibernate-core/src/main/java/org/hibernate/resource/beans/container/internal/NoSuchBeanException.java
    A hibernate-core/src/main/java/org/hibernate/resource/beans/container/internal/NotYetReadyException.java
    A hibernate-core/src/main/java/org/hibernate/resource/beans/container/package-info.java
    A hibernate-core/src/main/java/org/hibernate/resource/beans/container/spi/AbstractBeanContainer.java
    A hibernate-core/src/main/java/org/hibernate/resource/beans/container/spi/BeanContainer.java
    A hibernate-core/src/main/java/org/hibernate/resource/beans/container/spi/BeanContainerImplementor.java
    A hibernate-core/src/main/java/org/hibernate/resource/beans/container/spi/BeanLifecycleStrategy.java
    A hibernate-core/src/main/java/org/hibernate/resource/beans/container/spi/ContainedBean.java
    A hibernate-core/src/main/java/org/hibernate/resource/beans/container/spi/ContainedBeanImplementor.java
    A hibernate-core/src/main/java/org/hibernate/resource/beans/container/spi/ExtendedBeanManager.java
    A hibernate-core/src/main/java/org/hibernate/resource/beans/container/spi/FallbackContainedBean.java
    M hibernate-core/src/main/java/org/hibernate/resource/beans/internal/BeansMessageLogger.java
    R hibernate-core/src/main/java/org/hibernate/resource/beans/internal/CdiLifecycleManagementStrategy.java
    R hibernate-core/src/main/java/org/hibernate/resource/beans/internal/CompositeManagedBeanRegistry.java
    A hibernate-core/src/main/java/org/hibernate/resource/beans/internal/FallbackBeanInstanceProducer.java
    M hibernate-core/src/main/java/org/hibernate/resource/beans/internal/Helper.java
    R hibernate-core/src/main/java/org/hibernate/resource/beans/internal/JpaCdiLifecycleManagementStrategy.java
    R hibernate-core/src/main/java/org/hibernate/resource/beans/internal/ManagedBeanRegistryCdiBuilder.java
    R hibernate-core/src/main/java/org/hibernate/resource/beans/internal/ManagedBeanRegistryCdiDelayedImpl.java
    R hibernate-core/src/main/java/org/hibernate/resource/beans/internal/ManagedBeanRegistryCdiExtendedImpl.java
    R hibernate-core/src/main/java/org/hibernate/resource/beans/internal/ManagedBeanRegistryCdiStandardImpl.java
    R hibernate-core/src/main/java/org/hibernate/resource/beans/internal/ManagedBeanRegistryDirectImpl.java
    A hibernate-core/src/main/java/org/hibernate/resource/beans/internal/ManagedBeanRegistryImpl.java
    R hibernate-core/src/main/java/org/hibernate/resource/beans/internal/NamedBeanQualifier.java
    R hibernate-core/src/main/java/org/hibernate/resource/beans/internal/StandardCdiLifecycleManagementStrategy.java
    R hibernate-core/src/main/java/org/hibernate/resource/beans/internal/UnnamedRegistryScopedManagedBeanImpl.java
    R hibernate-core/src/main/java/org/hibernate/resource/beans/spi/AbstractManagedBeanRegistry.java
    A hibernate-core/src/main/java/org/hibernate/resource/beans/spi/BeanInstanceProducer.java
    R hibernate-core/src/main/java/org/hibernate/resource/beans/spi/DirectInstantiationManagedBeanImpl.java
    R hibernate-core/src/main/java/org/hibernate/resource/beans/spi/ExtendedBeanManager.java
    M hibernate-core/src/main/java/org/hibernate/resource/beans/spi/ManagedBean.java
    M hibernate-core/src/main/java/org/hibernate/resource/beans/spi/ManagedBeanRegistry.java
    M hibernate-core/src/main/java/org/hibernate/resource/beans/spi/ManagedBeanRegistryInitiator.java
    M hibernate-core/src/main/java/org/hibernate/resource/beans/spi/ProvidedInstanceManagedBeanImpl.java
    M hibernate-core/src/main/java/org/hibernate/service/spi/Stoppable.java
    M hibernate-core/src/test/java/org/hibernate/test/cdi/events/extended/InvalidExtendedCdiSupportTest.java
    M hibernate-core/src/test/java/org/hibernate/test/cdi/events/extended/ValidExtendedCdiSupportTest.java
    A hibernate-core/src/test/java/org/hibernate/test/cdi/general/mixed/DelayedMixedAccessTest.java
    A hibernate-core/src/test/java/org/hibernate/test/cdi/general/mixed/ExtendedMixedAccessTest.java
    A hibernate-core/src/test/java/org/hibernate/test/cdi/general/mixed/Helper.java
    A hibernate-core/src/test/java/org/hibernate/test/cdi/general/mixed/HostedBean.java
    A hibernate-core/src/test/java/org/hibernate/test/cdi/general/mixed/ImmediateMixedAccessTests.java
    A hibernate-core/src/test/java/org/hibernate/test/cdi/general/mixed/InjectedHostedBean.java
    A hibernate-core/src/test/java/org/hibernate/test/cdi/general/mixed/NonHostedBean.java
    A hibernate-core/src/test/java/org/hibernate/test/cdi/general/nonregistrymanaged/Monitor.java
    A hibernate-core/src/test/java/org/hibernate/test/cdi/general/nonregistrymanaged/NonRegistryManagedBeanConsumingIntegrator.java
    A hibernate-core/src/test/java/org/hibernate/test/cdi/general/nonregistrymanaged/TheAlternativeNamedApplicationScopedBeanImpl.java
    A hibernate-core/src/test/java/org/hibernate/test/cdi/general/nonregistrymanaged/TheAlternativeNamedDependentBeanImpl.java
    A hibernate-core/src/test/java/org/hibernate/test/cdi/general/nonregistrymanaged/TheApplicationScopedBean.java
    A hibernate-core/src/test/java/org/hibernate/test/cdi/general/nonregistrymanaged/TheDependentBean.java
    A hibernate-core/src/test/java/org/hibernate/test/cdi/general/nonregistrymanaged/TheEntity.java
    A hibernate-core/src/test/java/org/hibernate/test/cdi/general/nonregistrymanaged/TheMainNamedApplicationScopedBeanImpl.java
    A hibernate-core/src/test/java/org/hibernate/test/cdi/general/nonregistrymanaged/TheMainNamedDependentBeanImpl.java
    A hibernate-core/src/test/java/org/hibernate/test/cdi/general/nonregistrymanaged/TheNamedApplicationScopedBean.java
    A hibernate-core/src/test/java/org/hibernate/test/cdi/general/nonregistrymanaged/TheNamedDependentBean.java
    A hibernate-core/src/test/java/org/hibernate/test/cdi/general/nonregistrymanaged/TheNestedDependentBean.java
    A hibernate-core/src/test/java/org/hibernate/test/cdi/general/nonregistrymanaged/TheNonHibernateBeanConsumer.java
    A hibernate-core/src/test/java/org/hibernate/test/cdi/general/nonregistrymanaged/TheSharedApplicationScopedBean.java
    A hibernate-core/src/test/java/org/hibernate/test/cdi/general/nonregistrymanaged/delayed/NonRegistryManagedDelayedCdiSupportTest.java
    A hibernate-core/src/test/java/org/hibernate/test/cdi/general/nonregistrymanaged/extended/NonRegistryManagedExtendedCdiSupportTest.java
    A hibernate-core/src/test/java/org/hibernate/test/cdi/general/nonregistrymanaged/package-info.java
    A hibernate-core/src/test/java/org/hibernate/test/cdi/general/nonregistrymanaged/standard/NonRegistryManagedStandardCdiSupportTest.java
    R hibernate-core/src/test/java/org/hibernate/test/cdi/nonregistrymanaged/Monitor.java
    R hibernate-core/src/test/java/org/hibernate/test/cdi/nonregistrymanaged/NonRegistryManagedBeanConsumingIntegrator.java
    R hibernate-core/src/test/java/org/hibernate/test/cdi/nonregistrymanaged/TheAlternativeNamedApplicationScopedBeanImpl.java
    R hibernate-core/src/test/java/org/hibernate/test/cdi/nonregistrymanaged/TheAlternativeNamedDependentBeanImpl.java
    R hibernate-core/src/test/java/org/hibernate/test/cdi/nonregistrymanaged/TheApplicationScopedBean.java
    R hibernate-core/src/test/java/org/hibernate/test/cdi/nonregistrymanaged/TheDependentBean.java
    R hibernate-core/src/test/java/org/hibernate/test/cdi/nonregistrymanaged/TheEntity.java
    R hibernate-core/src/test/java/org/hibernate/test/cdi/nonregistrymanaged/TheMainNamedApplicationScopedBeanImpl.java
    R hibernate-core/src/test/java/org/hibernate/test/cdi/nonregistrymanaged/TheMainNamedDependentBeanImpl.java
    R hibernate-core/src/test/java/org/hibernate/test/cdi/nonregistrymanaged/TheNamedApplicationScopedBean.java
    R hibernate-core/src/test/java/org/hibernate/test/cdi/nonregistrymanaged/TheNamedDependentBean.java
    R hibernate-core/src/test/java/org/hibernate/test/cdi/nonregistrymanaged/TheNestedDependentBean.java
    R hibernate-core/src/test/java/org/hibernate/test/cdi/nonregistrymanaged/TheNonHibernateBeanConsumer.java
    R hibernate-core/src/test/java/org/hibernate/test/cdi/nonregistrymanaged/TheSharedApplicationScopedBean.java
    R hibernate-core/src/test/java/org/hibernate/test/cdi/nonregistrymanaged/delayed/NonRegistryManagedDelayedCdiSupportTest.java
    R hibernate-core/src/test/java/org/hibernate/test/cdi/nonregistrymanaged/extended/NonRegistryManagedExtendedCdiSupportTest.java
    R hibernate-core/src/test/java/org/hibernate/test/cdi/nonregistrymanaged/package-info.java
    R hibernate-core/src/test/java/org/hibernate/test/cdi/nonregistrymanaged/standard/NonRegistryManagedStandardCdiSupportTest.java
    M hibernate-envers/src/main/java/org/hibernate/envers/internal/revisioninfo/DefaultRevisionInfoGenerator.java

  Log Message:
  -----------
  HHH-12133 - Create ManagedBeanRegistry and ManagedBean

- Various restructing on top of Yoann's work as well as adding tested support of "mixed access" (mix of hosted and non-hosted beans)


Compare: https://github.com/hibernate/hibernate-orm/compare/c03fdf84d475...5460acd63a5d


More information about the hibernate-commits mailing list