Are you saying that you don't need a fix for this?
On Thu, Sep 7, 2017 at 10:36 AM, Sanne Grinovero <sanne(a)hibernate.org>
wrote:
I had a chat with Steve about this and I understand better now why
the
WildFly/JipiJapa/HibernateORM does what it does.
We'll update the Hibernate Search integration test and move on!
Thanks,
Sanne
On 6 September 2017 at 22:19, Sanne Grinovero <sanne(a)hibernate.org> wrote:
> Hi Gail,
>
> the failing test is CDIInjectionIT from my personal branch of
> Hibernate Search called "WildFly11" :
>
>
https://github.com/Sanne/hibernate-search/blob/
WildFly11/integrationtest/wildfly/src/test/java/org/hibernate/search/test/
integration/wildfly/cdi/CDIInjectionIT.java
>
> It is an Arquillian test and it requires you to build Hibernate ORM
> master first, as I switched the dependencies to use Hibernate ORM
> 5.2.11-SNAPSHOT (It otherwise won't work on WildFly 11 as it requires
> HHH-11950
>
> Thanks,
> Sanne
>
>
> On 1 September 2017 at 19:11, Gail Badner <gbadner(a)redhat.com> wrote:
>> I have a better understanding after discussing further with Scott, so I
>> agree with Steve now.
>>
>> I have some ideas about how to fix this.
>>
>> Sanne, you mentioned getting a failure using an integration test. Please
>> provide details for reproducing this.
>>
>> On Wed, Aug 30, 2017 at 11:43 AM, Steve Ebersole <steve(a)hibernate.org>
>> wrote:
>>>
>>> The whole purpose of ExtendedBeanManager is cases where the
BeanManager is
>>> not available when Hibernate boots (in other words when Hibernate is
told
>>> which to use) . This is a way to give Hibernate a callback when the
>>> BeanManager is available. IMO this ExtendedBeanManager implementing
>>> BeanManager is inaccurate. But would certainly like to hear Scott's
opinion
>>> as well.
>>>
>>> Technically this situation is non-JPA compliant as JPA requires that
the
>>> BeanManager passed to be available at boot-time.
>>>
>>> On Wed, Aug 30, 2017 at 12:02 PM Sanne Grinovero
<sanne(a)hibernate.org>
>>> wrote:
>>>>
>>>> Hi Gail,
>>>>
>>>> no I haven't opened a WFLY issue as I'm not sure if this is an
issue.
>>>>
>>>> There seems to be some inconsistency and it certainly breaks some
>>>> Hibernate Search tests but we could of course adapt things to the new
>>>> reality.. if this is how it's meant to be.
>>>>
>>>> The source code of the ExtendedBeanManager which you didn't find is
>>>> located in the WildFly source code; it's part of JipiJapa:
>>>> -
>>>>
https://github.com/wildfly/wildfly/blob/master/jpa/
hibernate5/src/main/java/org/jboss/as/jpa/hibernate5/
HibernateExtendedBeanManager.java
>>>>
>>>> As you also noticed, it no longer implement the standard BeanManager
>>>> interface. I agree with you that I'd expect it to still implement
it,
>>>> but clearly this was changed intentionally so I hope someone (Scott
>>>> possibly?) can clarify - or revert.
>>>>
>>>> In case this is intentionally no longer implementing the standard
>>>> interface we should at least clarify the javadocs if this
>>>> configuration property.
>>>>
>>>> The missing javax.el.ELResolver and javax.el.ExpressionFactory is
>>>> unfortunate. I'd hope we could do better than just add them back,
>>>> maybe it requires a dedicated module? Having too many dependencies -
>>>> in this case half of Weld - slows down our bootstrap significantly and
>>>> users have been complaining about that.
>>>>
>>>> Thanks,
>>>> Sanne
>>>>
>>>> On 30 August 2017 at 06:58, Gail Badner <gbadner(a)redhat.com>
wrote:
>>>> > Hi Sanne,
>>>> >
>>>> > Do you have a WFLY issue for this?
>>>> >
>>>> > I've tentatively created a branch and pushed a commit to my
fork
that
>>>> > reproduces this issue. [1]
>>>> >
>>>> > It reproduces using Hibernate 5.1.11-SNAPSHOT and 5.2.11-SNAPSHOT.
>>>> >
>>>> > In 5.1, org.hibernate.jpa.test.cdi.ExtendedBeanManagerCdiTest uses
an
>>>> > implementation, ExtendedBeanManagerImpl [2], that implements both
>>>> > BeanManager, ExtendedBeanManager.
>>>> >
>>>> > I don't see this test in 5.2, and I don't see any
implementation of
>>>> > ExtendedBeanManager in 5.2. I do see tests in
>>>> > org.hibernate.jpa.test.cdi.extended, but have not had a chance to
look
>>>> > at
>>>> > those yet.
>>>> >
>>>> > I suspect that org.jboss.as.jpa.hibernate5.
HibernateExtendedBeanManager
>>>> > should implement javax.enterprise.inject.spi.BeanManager as well.
I
>>>> > tried
>>>> > making this change, and having BeanManager methods delegate to
>>>> > HibernateExtendedBeanManager#beanManager, but it looks like a
>>>> > dependency is
>>>> > missing, because javax.el.ELResolver and
javax.el.ExpressionFactory
are
>>>> > unresolved.
>>>> >
>>>> > Please let me know if I'm on the right (or wrong) track.
I'll pick
this
>>>> > up
>>>> > tomorrow.
>>>> >
>>>> > Regards,
>>>> > Gail
>>>> >
>>>> > [1]
https://github.com/gbadner/wildfly/tree/WFLY-CCE-bug
>>>> > [2]
>>>> >
>>>> >
https://github.com/hibernate/hibernate-orm/blob/5.1/
hibernate-entitymanager/src/test/java/org/hibernate/jpa/test/cdi/
ExtendedBeanManagerCdiTest.java#L195
>>>> >
>>>> > On Tue, Aug 29, 2017 at 8:18 AM, Sanne Grinovero <
sanne(a)hibernate.org>
>>>> > wrote:
>>>> >>
>>>> >> Hi all,
>>>> >>
>>>> >> In Hibernate Search we have a snippet of code doing:
>>>> >>
>>>> >> private static BeanManager getBeanManager(Map<?, ?>
>>>> >> configurationValues) {
>>>> >> return (BeanManager) configurationValues.get(
>>>> >> AvailableSettings.CDI_BEAN_MANAGER );
>>>> >> }
>>>> >>
>>>> >> This used to work on WildFly 10 - even if we were to override
the
>>>> >> Hibernate ORM version to 5.2.
>>>> >>
>>>> >> By runnning the same integration test on WildFly 11 I'm
now
getting a
>>>> >> ClassCastException as the returned instance is of type
>>>> >> `org.jboss.as.jpa.hibernate5.HibernateExtendedBeanManager`,
which
does
>>>> >> implement
`org.hibernate.jpa.event.spi.jpa.ExtendedBeanManager`
but
>>>> >> does not implement the standard
>>>> >> `javax.enterprise.inject.spi.BeanManager` interface.
>>>> >>
>>>> >> I'm unsure if this is a bug in the Search code or a
misunderstanding
>>>> >> between the WildFly / ORM integration?
>>>> >>
>>>> >> This javadoc seems relevant:
>>>> >>
>>>> >> /**
>>>> >> * Used to pass along the CDI BeanManager, if any, to be used.
>>>> >> */
>>>> >> String CDI_BEAN_MANAGER =
"javax.persistence.bean.manager";
>>>> >>
>>>> >> or should I interpret this property as meant only for
"write"
purposes
>>>> >> into the ORM configuration? I suppose it's unexpected that
we
attempt
>>>> >> to retrieve this as well.
>>>> >>
>>>> >> Thanks,
>>>> >> Sanne
>>>> >> _______________________________________________
>>>> >> hibernate-dev mailing list
>>>> >> hibernate-dev(a)lists.jboss.org
>>>> >>
https://lists.jboss.org/mailman/listinfo/hibernate-dev
>>>> >
>>>> >
>>>> _______________________________________________
>>>> hibernate-dev mailing list
>>>> hibernate-dev(a)lists.jboss.org
>>>>
https://lists.jboss.org/mailman/listinfo/hibernate-dev
>>
>>