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.instanceSelectAnnotationThrowsISEWhenAccessedAfterShutdown
» Test

BootstrapSEContainerTest.instanceSelectClassThrowsISEWhenAccessedAfterShutdown
» Test

BootstrapSEContainerTest.seContainerThrowsISEWhenAccessingBmAtShutdownContainer
» 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.testContainerCloseMethodOnNotInitializedContainer
» Test

BootstrapSEContainerTest>Arquillian.run:164->testInvocationOfInitializedMethodReturnsNewSeContainerInstance: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->requestContextIsActiveDuringPostConstructCallback: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?

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