[cdi-dev] Java EE compatibility guidelines

Pete Muir pmuir at redhat.com
Wed Nov 2 10:02:04 EDT 2011

On 2 Nov 2011, at 13:29, Jozef Hartinger wrote:

> There are two fixes in CDI 1.1 EDR1 of which I am not sure if they comply with the document.
> * CDI-36

This relates to adding the qualifiers to the notify() method.

> * CDI-115

This is a bug in CDI 1.0, that we didn't have Interceptor.intercept() rethrow checked exceptions to be compatible with the interceptors spec.

> In both cases it's a non-compatible change in the SPI. The compatibility document does not make a distinction between an API (consumed by applications) and SPI (consumed by extensions). As a result, it is difficult to put portable extensions that use the SPI into one of categories defined by the document.
> The "wrapper implementations" category seems to fit a description of a typical portable extension the most (which would justify the changes) although CDI extensions do not necessarily just "wrap a vendor implementation".

I think we can count it as this. But let me check with Bill.

C. Wrapper implementations of the specification. These provide classes that implement interfaces defined in the specification but they do so by simply wrapping a vendor implementation and adding some additional value. Examples are framework developers and resource adapter developers.

> Another way to look at it is that an application is always allowed to implement the involved part of the SPI. In this case the changes above violate the document requirements.
> On 10/28/2011 04:43 PM, Pete Muir wrote:
>> Nigel Deakin wrote up some excellent ackwards compatibility guidelines for Java EE specs - http://java.net/projects/javaee-spec/pages/CompatibilityRequirements
>> These provide excellent info on what we can and can't change in CDI 1.1.
>> Check them out!
>> _______________________________________________
>> cdi-dev mailing list
>> cdi-dev at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/cdi-dev

More information about the cdi-dev mailing list