2017-08-14 13:50 GMT+02:00 John D. Ament <johndam...@apache.org>:

> On Mon, Aug 14, 2017 at 1:03 AM Romain Manni-Bucau <rmannibu...@gmail.com>
> wrote:
>
> > Le 14 août 2017 04:31, "John D. Ament" <john.d.am...@gmail.com> a écrit
> :
> >
> > Hey guys
> >
> > Good news on the SE support front.  Looks like there were two features
> just
> > missing outright in OWB 2 from CDI 2.0.
> >
> > - Support for a config property javax.enterprise.inject.implicit.scan
> which
> > works the opposite of org.apache.webbeans.scanBeansXmlOnly
> > - Firing BeforeDestroyed when destroying a context
> >
> > After getting those done, and ignoring issues with manual request context
> > activation, we're down to only a few failing TCK tests
> >
> > Failed tests:
> >
> > BootstrapSEContainerTest.instanceSelectAnnotationThrows
> > ISEWhenAccessedAfterShutdown
> > » Test
> >
> > BootstrapSEContainerTest.instanceSelectClassThrowsISEWh
> > enAccessedAfterShutdown
> > » Test
> >
> > BootstrapSEContainerTest.seContainerThrowsISEWhenAccess
> > ingBmAtShutdownContainer
> > » Test
> >   BootstrapSEContainerTest>Arquillian.run:164->testAddDecorator:244
> > expected [true] but found [false]
> >   BootstrapSEContainerTest>Arquillian.run:164->testAddInterceptor:227
> > expected [true] but found [false]
> >   BootstrapSEContainerTest>Arquillian.run:164->testAlternativesInSE:138
> > expected [Circle] but found [Square]
> >
> > BootstrapSEContainerTest.testContainerCloseMethodOnNotI
> nitializedContainer
> > » Test
> >
> > BootstrapSEContainerTest>Arquillian.run:164->
> testInvocationOfInitializedMet
> > hodReturnsNewSeContainerInstance:103
> > » WebBeansDeployment
> >   BootstrapSEContainerTest>Arquillian.run:164->testSeContainerLookup:253
> »
> > IllegalArgument
> >   BootstrapSEContainerTest>Arquillian.run:164->testSyntheticArchive:114
> »
> > IllegalArgument
> >   InvalidContextualReferenceTest.testReferenceUsedAfterContainerShutdown
> »
> > Test ...
> >   CustomClassLoaderSETest>Arquillian.run:164->testCustomClassLoader:77 »
> > UnsatisfiedResolution
> >
> > RequestContextTest>Arquillian.run:164->requestContextIsActiveDuringPo
> > stConstructCallback:72
> > null
> >   CustomCDIProviderTest>Arquillian.run:164->testCustomCDIProvider:53
> > expected [null] but found [org.apache.webbeans.container.OwbCDI@7755e503
> ]
> >
> > Most of them are caused by OWB not destroying contextual references when
> > the container shuts down, its almost like OWB never actually stops when
> you
> > call close on the SE Container.
> >
> > The two interesting ones I dug into are CustomCDIProviderTest and
> > RequestContextTest.
> >
> > For the custom CDI provider, it's actually a bug in the geronimo spec,
> its
> > treating a null returned from the CDIProvider as being not set, but the
> TCK
> > is implying that its fine, and instead should just be null because the
> > provider was set.
> >
> > The Request context one is a bit trickier.  It looks like OWB's behavior
> is
> > to start all contexts where the SE container behavior is to only start an
> > application context.  There's already StandaloneLifeCycle which I think
> we
> > should leave alone, and instead create a special SELifeCycle in the se
> > module to better align to the spec's requirements.  Thoughts?
> >
> >
> > Still thinking but what about keeping our defaults based on past usage
> > experience and having properties to tune it?
> >
> >
> >
> Romain, I'm not sure if your response is to the whole email or this last
> section.
>

last section only, other parts was clear and didnt ask much comment from me
;)


>
> If it's about this last section, that's why I'm thinking to create a new
> lifecycle.  This way by default you get the SELifeCycle which operates
> based on the spec, but you can easily override it in
> openwebbeans.properties to use the StandaloneLifeCycle to make a bit more
> sense (however, when we talked about how to activate the other contexts in
> the EG there was a lot of confusion and problems uncovered, e.g. what is
> the underlying bean store for session scoped across multiple "requests" and
> how do I get that same store each time?)
>
> We could even name it "JSR365SELifeCycle" to make it extremely clear that
> this is in to satisfy the requirements of the JSR only.
>

Issue is not the name but the usage. Most of the time you will need it I
think so do we want to break users going to a standard? The spec doesn't
prevent to support other scopes as well so if we have flags to deactivate
them then we are good.

After do we do it in 2 lifecycles or a single one is another topic but I
don't have a strong preference.


>
>
> >
> > I'll keep hacking away.  I did start a branch on github
> > https://github.com/johnament/openwebbeans/tree/se-updates .
> >
> > John
> >
>

Reply via email to