[weld-dev] CDI 1.2 tck challenge 1
Jozef Hartinger
jharting at redhat.com
Thu May 7 11:02:22 EDT 2015
Hi Emily,
you can submit TCK challenges direcly by opening JIRA issues at
https://issues.jboss.org/browse/CDITCK.
As for this particular one I am not sure why the
Contexts.getRequestContext() method is still used in the tests.
BeanManager.getContext(RequestScoped.class) should IMHO be used instead.
Jozef
On 05/07/2015 01:50 PM, Emily Jiang wrote:
>
> I am trying to run cdi 1.2 tck:
>
> In test:
> org.jboss.cdi.tck.tests.event.observer.conditional.ConditionalObserverTest
> Method: testConditionalObserverMethodNotInvokedIfNoActiveContext
>
> I got this following failure:
>
> java.lang.IllegalStateException: Singleton not set for STATIC_INSTANCE
> => [29478a84-0d13-49f5-b140-34a6cd92ab71,
> 0dd30cdc-10f4-4ec0-a8c5-d8fa3a82fc25,
> bbc59ac1-4747-49d0-96a3-12f0d4987829,
> 3459400f-dd41-473c-a4db-94d60fe5899b,
> 10795c17-3611-41d5-b7ca-497709c2ad53,
> f10c929f-5314-44ba-aeb4-99888f6b4611,
> a22c5a8f-bf26-4f54-a847-d1c7b5532426,
> 00c3de8d-65d9-4ba7-804a-9c3c515e59d7,
> d7c8be7e-8b52-4c88-97e1-5ba6925fb794,
> 72ac8455-7c21-4090-b7ec-13d70c75a7d7,
> dbe7255d-5485-4c2a-b547-058815660144,
> d3bb3d00-3214-48a5-b662-499010197e12]
> at
> org.jboss.weld.bootstrap.api.helpers.RegistrySingletonProvider$RegistrySingleton.get(RegistrySingletonProvider.java:28)
> at org.jboss.weld.Container.instance(Container.java:55)
> at org.jboss.weld.tck.ContextsImpl.getRequestContext(ContextsImpl.java:33)
> at org.jboss.weld.tck.ContextsImpl.getRequestContext(ContextsImpl.java:30)
> at
> org.jboss.cdi.tck.tests.event.observer.conditional.ConditionalObserverTest.testConditionalObserverMethodNotInvokedIfNoActiveContext(ConditionalObserverTest.java:96)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>
> From the stack trace, two strange things are happening:
>
> 1) the TCK code is calling into org.jboss.weld.Container which is an
> internal Weld class which should not be visible to application so the
> application should not need to load them
> 2) the TCK code is calling Container.instance() with no arguments,
> which should not be called. We always use
> Container.instance(contextId), in accordance with Weld doc A.3.2.4.
> Singleton SPI (this should be used in OSGi environment).
>
> Can someone help to explain why the tck test was done this way? Is it
> accurate?
>
> --
> Thanks
> Emily
> =================
> Emily Jiang
> ejiang at apache.org <mailto:ejiang at apache.org>
>
>
> _______________________________________________
> weld-dev mailing list
> weld-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/weld-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/weld-dev/attachments/20150507/205f2d2a/attachment.html
More information about the weld-dev
mailing list