[
https://jira.jboss.org/jira/browse/JBMETA-208?page=com.atlassian.jira.plu...
]
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/p...
...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