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(a)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(a)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(a)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(a)lists.jboss.org
>
https://lists.jboss.org/mailman/listinfo/wildfly-dev
--
__________________________
Eduardo Sant'Ana da Silva - Dr.
Pesquisador / Consultor de TI