[jboss-dev] Annotation scanning in wars doesn't work anymore

Carlo de Wolf cdewolf at redhat.com
Thu Nov 26 11:50:03 EST 2009


At some point in AS 5.0 we did do EJBs in wars ( 
https://jira.jboss.org/jira/browse/JBAS-5281 ), but that lead to 
problems were people would actually package EJBs in wars. :-)

In AS 5.1 it doesn't work ( https://jira.jboss.org/jira/browse/JBAS-7312 
), but that's because we needed to forcibly disable it and thus it 
wasn't tested anymore.

Now for AS 6 we need it again for EJB 3.1 spec. :-)

I've locally modified that to:

    protected void processMetaData(VFSDeploymentUnit unit, WebMetaData webMetaData, ApplicationClientMetaData clientMetaData, List<VirtualFile>  classpath) throws Exception
    {
       AnnotationFinder<AnnotatedElement>  finder = new DefaultAnnotationFinder<AnnotatedElement>();
       // don't do webMetaData anymore (rev 96033)

       String mainClassName = getMainClassName(unit);
       if(mainClassName != null)
          processJBossClientMetaData(unit, finder, mainClassName);
       else
          processJBossMetaData(unit, finder);
    }

But yes, these concerns need to be separated out.

Carlo

On 11/26/2009 05:41 PM, Rémy Maucherat wrote:
> On Thu, Nov 26, 2009 at 5:31 PM, Emanuel Muckenhuber
> <emuckenh at redhat.com>  wrote:
>    
>> The AnnotationMetaDataDeployer should be split up anyway. Seems Remy did
>> the first step.
>>
>> Was this really working before? As far as i can remember we always
>> skipped ejb3 processing when there was a WebMetaData present?
>>      
> I did remove the "skip if it's a war" test, but indeed, there is a
> test like that:
>        if(webMetaData != null)
>        {
>           processJBossWebMetaData(unit, finder);
>        }
>        else if (clientMetaData != null)
>        {
>           String mainClassName = getMainClassName(unit);
>           if(mainClassName != null)
>              processJBossClientMetaData(unit, finder, mainClassName);
>        }
>        else
>        {
>           String mainClassName = getMainClassName(unit);
>           if (mainClassName != null)
>              processJBossClientMetaData(unit, finder, mainClassName);
>           else
>              processJBossMetaData(unit, finder);
>        }
>
> Rémy
>
> _______________________________________________
> jboss-development mailing list
> jboss-development at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/jboss-development
>    




More information about the jboss-development mailing list