[wildfly-dev] WFLY-4200 WAR MDB cannot obtain superclass on module classpath

Eduardo Sant´Ana da Silva eduardo.santanadasilva at gmail.com
Wed Jul 1 18:33:49 EDT 2015


Stuart,

I think that the target change will be on:

class :  MessageDrivenComponentDescriptionFactory
method: getMessageListenerInterface  that is used by processMessageBeans as
well.

MessageDrivenComponentDescriptionFactory, is called on
AnnotatedEJBComponentDescriptionDeploymentUnitProcessor class,

    public AnnotatedEJBComponentDescriptionDeploymentUnitProcessor(final
boolean appclient) {
        super(appclient);
        this.appclient = appclient;
        this.factories = new EJBComponentDescriptionFactory[] {
                new MessageDrivenComponentDescriptionFactory(appclient),
                new SessionBeanComponentDescriptionFactory(appclient)
        };
    }

It will be enough to change the phase when
AnnotatedEJBComponentDescriptionDeploymentUnitProcessor is executed on
EJB3SubsystemAdd, and do the due change on code using reflection?

Or will this impact other things regarding message driven beans that should
be done on PARSE phase?

              processorTarget.addDeploymentProcessor(EJB3Extension.
SUBSYSTEM_NAME, Phase.PARSE, Phase.PARSE_CREATE_COMPONENT_DESCRIPTIONS, new
AnnotatedEJBComponentDescriptionDeploymentUnitProcessor(appclient));

And what will be the exact phase to do the
AnnotatedEJBComponentDescriptionDeploymentUnitProcessor?
Do you have some code that I could use as reference?

Thanks,
Eduardo Sant'Ana da Silva

2015-07-01 3:12 GMT-03:00 Stuart Douglas <stuart.w.douglas at gmail.com>:

> I think the solution here is to just move this to a later phase, where it
> can be changed to use reflection.
>
> Stuart
>
> On Wed, 1 Jul 2015 at 02:52 Eduardo Sant´Ana da Silva <
> eduardo.santanadasilva at gmail.com> wrote:
>
>> Hello, I'm planning to do something regarding  WFLY-4200, I've sent an
>> e-mail a few months ago about that and I will need some clarifications.
>>
>> I don't know if I'm right, but I'm seeing a big problem with that if this
>> is really a bug. What other checks are being done that cause the deployment
>> abort in the other phases before resolving the dependencies that could be
>> turn the deployment in a qualified one?
>>
>> https://issues.jboss.org/browse/WFLY-4200
>>
>> Regards,
>> Eduardo Sant'Ana da Silva
>>
>> 2015-05-02 19:23 GMT-03:00 Eduardo Sant´Ana da Silva <
>> eduardo.santanadasilva at gmail.com>:
>>
>>> I was looking at :WFLY-4200 WAR MDB cannot obtain superclass on module
>>> classpath
>>>
>>> This is what I posted about it:
>>>
>>>
>>> "I believe that the problem is because
>>> AnnotatedEJBComponentDescriptionDeploymentUnitProcessor executes in the
>>> parse phase:
>>>
>>> Phase.PARSE,Phase.PARSE_CREATE_COMPONENT_DESCRIPTIONS
>>>
>>> Since the dependencies will be resolved at  Phase.DEPENDENCIES, your
>>> build will not work.
>>> Regarding WFLY, my suggestion is not throw the
>>> EjbLogger.ROOT_LOGGER.mdbDoesNotImplementNorSpecifyMessageListener(beanClass)
>>> only bring up some flag that the required interfaces were not yet resolved,
>>> some attachment could be useful, just to retain the super class name. When
>>> the dependencies were solved, the class will be present on the class index
>>> and the test against the annotation should be performed again. Since that
>>> work will be done twice, to verify the required interfaces, this requires
>>> some experts advice."
>>>
>>> Thanks,
>>> --
>>> __________________________
>>> Eduardo Sant'Ana da Silva
>>>
>>>
>>
>>
>> --
>>
>>  _______________________________________________
>> wildfly-dev mailing list
>> wildfly-dev at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/wildfly-dev
>
>


-- 
__________________________
Eduardo Sant'Ana da Silva - Dr.
Pesquisador / Consultor de TI
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/wildfly-dev/attachments/20150701/ed83427c/attachment.html 


More information about the wildfly-dev mailing list