[jboss-jira] [JBoss JIRA] Commented: (JBMETA-208) Prescence of an ejb-jar.xml without a namespace stops annotation-based metadata processing

Alexey Loubyansky (JIRA) jira-events at lists.jboss.org
Wed Jul 1 09:37:51 EDT 2009


    [ https://jira.jboss.org/jira/browse/JBMETA-208?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12474452#action_12474452 ] 

Alexey Loubyansky commented on JBMETA-208:
------------------------------------------

I still don't like it... The thing is we don't want to look whether there are classes that (accidentally or not) have EJB3 annotations in an EJB2 deployment.
When a JAR is deployed, we first look whether there is an ejb-jar.xml. And if it's there we can tell by its version which EJB version this deployment is. And if it's EJB2 then does it make sense to look into each class in the JAR to make sure there are no EJB3 annotations? Because this is what you are asking for. It's rather expensive performance-wise.

I understand it's something that used to work. But it shouldn't have worked in the first place. It should actually be considered a bug in JBoss 4.2.3.GA.

PS: regarding the JBMETA-4 warning, I've found a few places where EJB2 deployment could slip through into the EJB3 deployers layer which I am going to fix. But the warning is actually a different issue which accidentally popped up here.

> Prescence of an ejb-jar.xml without a namespace stops annotation-based metadata processing
> ------------------------------------------------------------------------------------------
>
>                 Key: JBMETA-208
>                 URL: https://jira.jboss.org/jira/browse/JBMETA-208
>             Project: JBoss Metadata
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>    Affects Versions: 1.0.1.GA
>         Environment: JBoss AS 5.1.0.GA
>            Reporter: Richard Kennard
>            Assignee: Alexey Loubyansky
>
> The presence of a META-INF/ejb-jar.xml file that is not properly namespaced, for example...
> <ejb-jar>
> </ejb-jar>
> ...instead of...
> <ejb-jar version="3.0"
>     xmlns="http://java.sun.com/xml/ns/javaee"
>     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd">
> </ejb-jar>
> ...stops ALL of the annotation-based metadata processing. Every session bean in the JAR reports with the JBMETA-4 warning, and therefore none of them get registered with JNDI. This is much worse than simply ignoring the ejb-jar.xml altogether, as is arguably acceptable as it isn't namespaced.
> An un-namespaced ejb-jar.xml is not uncommon. Many examples, including this one from the JBoss documentation...
> http://docs.jboss.org/ejb3/app-server/reference/build/reference/en/html/partial_deployment_descriptors.html
> ...leave off the namespace, so for JBoss to fail without warning seems a little harsh. Leaving off the namespace worked fine in JBoss 4.2.3.GA.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the jboss-jira mailing list