Follow-Up: when designing Weld-only test I had missed a detail :-/
Now following Weld-only test works perfectly fine!

I desingned a bm#interceptorLookup on an injected BM in the arquillian
test: works fine!

The interceptor resolution inside DS by injected(!)
DeltaSpikeProxyInterceptorLookup fails!

So it seems that finally the reason may be the deployment isolation in
Wildfly?!

According docs web-archives should have flat CL, so I see no reason for
isolation, I could not find any related configuration :-/

I designed a simple 2-module web-app to simulate "reverse-visibility"
issue: no problem detected!!

Maybe the problem is related to the time, when BeanManagerProviderExtension
is fired - due to concurrent CL?
I will try to simulate, but anyway: the problem seems to be substantial.

How to proceed?
Suggestions much appreciated!

Simple Weld-only test:
    weld = new Weld().disableDiscovery()
            .addExtension(new BeanManagerProvider())
            .addExtension(new PartialBeanBindingExtension())
            .addInterceptor(CustomInterceptorImpl.class)
            .addPackages(CustomInterceptor.class, PartialBean.class,
DeltaSpikeProxyInvocationHandler.class)
            .addBeanClass(PartialBean.class);
    container = weld.initialize();
    beanManager = container.getBeanManager();
    deltaSpikeProxyInterceptorLookup =
BeanProvider.getContextualReference(DeltaSpikeProxyInterceptorLookup.class);

    PartialBean partialBean =
BeanProvider.getContextualReference(PartialBean.class);
    List<Interceptor<?>> interceptorListBm =
beanManager.resolveInterceptors(InterceptionType.AROUND_INVOKE, new
AnnotationLiteral<CustomInterceptor>() {});
    Assert.assertFalse(interceptorListBm.isEmpty());

    List<Interceptor<?>> interceptorList =
deltaSpikeProxyInterceptorLookup.lookup(partialBean,
PartialBean.class.getMethod("getResult"));
    Assert.assertFalse(interceptorList.isEmpty());



Am Di., 5. März 2024 um 21:46 Uhr schrieb Romain Manni-Bucau <
rmannibu...@gmail.com>:

> Not sure what does weld in standalone mode but there JNDI is undefined.
> That said it is still a change in behavior so a regression.
> Anyone spotted that in the spec or is it a new BDA interpretation of weld?
>
> Fact that the behavior is broken in wildfly and broken in standalone
> compared to old version is fishy, means we should use the BM only in
> extension somehow which is just not compatible with most CDI code so I'm
> quite hesitant to modify DS where Weld is likely the culprit, wdyt?
>
>
>

Reply via email to