Bug 1114061
Summary: | (6.4.0) ejb-jar.xml interceptor-binding does not accept "*" | ||
---|---|---|---|
Product: | [JBoss] JBoss Enterprise Application Platform 6 | Reporter: | wfink |
Component: | EE, EJB | Assignee: | baranowb <bbaranow> |
Status: | CLOSED NOTABUG | QA Contact: | |
Severity: | unspecified | Docs Contact: | |
Priority: | unspecified | ||
Version: | 6.2.4, 6.3.0 | CC: | bbaranow, bmaxwell, cdewolf, jmartisk, jochen.riedlinger, rdickens, sdouglas, smumford, wfink |
Target Milestone: | --- | Keywords: | Reopened |
Target Release: | EAP 6.4.0 | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Known Issue | |
Doc Text: |
In this release of JBoss EAP 6, due to too strict checks, default EJB interceptors require an 'interceptors' definition along with a declaration as part of 'assembly-descriptor'.
|
Story Points: | --- |
Clone Of: | Environment: | ||
Last Closed: | 2015-11-30 06:56:56 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
wfink
2014-06-27 15:05:20 UTC
Bartosz Baranowski <bbaranow> updated the status of jira WFLY-3554 to Coding In Progress This behaviour is correct as per spec, from the interceptors 1.1 spec: • The interceptor-class element specifies the interceptor class. The interceptor class contained in an interceptor-class element must either be declared in the interceptor deployment descriptor element or appear in at lesat one @Interceptor annotation on a target class. The interceptor-order element is used as an optional alternative to specify a total ordering over the interceptors defined for the given level and above. This seems to have been rejected. Closing. As WFLY-3554 state it has been changed in EJB3.2 specification and EAP6 does not implement EJB3.2, it's EE6 and implement EJB3.1 spec. Because of this it is necessary to have a fix in EAP6 for this issue. You have mis-interpreted my comments on WFLY-3554, this violates both the 3.1 and 3.2 spec. The sentence I am quoting is in the EJB 3.1 spec and the Interceptors 1.1 spec (which applies to EJB 3.2). The only change between 3.1 and 3.2 was that the place where this is specified changed. To Stuart ... sorry, my understanding is different. I configure it as followed in ejb-jar.xml to a simple ejb3 application with the following content: <ejb-jar> <assembly-descriptor> <interceptor-binding> <ejb-name>*</ejb-name> <interceptor-class>wfink.Dummy</interceptor-class> </interceptor-binding> </assembly-descriptor> </ejb-jar> The Interceptors 1.1 spec state this a bullet before your excerpt. The target-name element must identify the associated target class or the wildcard value "*" (which is used to define interceptors that are bound to all target classes). Also ejb_3.1 ch# 12.7 contains the same statement. So from my point of view we should reopen https://issues.jboss.org/browse/WFLY-3554 and merge the PR Bump? specs are kind of badly written it seems, ambiguous at best. What is 'interceptor deployment descriptor'. Is binding equivalent to 'interceptor deployment descriptor' ? All I could find for WFLY is: https://docs.jboss.org/author/display/WFLY8/Container+interceptors Which seems to ack this BZ as bug - not first entry. The current behavior is spec compliant. "The interceptor class contained in an interceptor-class element must either be declared in the interceptor deployment descriptor element or appear in at lesat one @Interceptor annotation on a target class." The spec does not say what should happen when this is not the case, but we ignore it rather than causing a deployment failure. It would make sense to print a warning I guess, but the language of the spec is pretty explicit here. |