We have already discussed the problem of interceptorLookup for PartialBean
on Wildfly.
IMHO due to subdeployment CL-visibilty issues (not flat!) the interceptors
in jar A are not visible in jar DS-partial-bean-impl.

A possible solution for this can be:
BeanMangerProvider#getBeanManager(): extend decision on lookup strategy like
    private static boolean useDelegateLookup()
    {
        return CoreBaseConfig.BeanManagerIntegration.DELEGATE_LOOKUP
                && System.getProperty("jboss.server.name") == null;
    }

Then all tests in partial-bean-impl -P wildfly-build-managed run
successfully!

Another issue that could be resolved this way: TransactionStrategy lookup
in data-impl:
Instead of @Priority workaround
  - activate ContainerMangedTxStrategy in beans.xml
  - and change Injection of TransactionStrategy in TransactionalQueryRunner
like:
    protected Object executeTransactional(final QueryBuilder builder, final
CdiQueryInvocationContext context)
    {
        TransactionStrategy strategy =
BeanProvider.getContextualReference(TransactionStrategy.class);

will also work fine!

Just to show the massive impact of the identified (supposed?) bug in
Wildfly subdeployment class visibility.

First step: your feedback on the proposed (temporary?) fix on
abovementioned change in BeanManagerLookup
:-/

Reply via email to