Where this saved us before was between Connector 1.0 and 1.5 the META-INF/ra.xml file was actually completely reworked. I mean a sledge hammer was taken to that file and by comparison us changing the default value of bean-discovery-mode is pretty tiny.
Despite the massive breaking change, most of us were able to support both the old and new formats without any user action by just looking at the xml namespace. If you saw the old j2ee namespace you processed it the old way, if you saw the new javaee namespace you processed it the new way. If the user didn’t supply the namespace, well they got what they got.
If we made users supply a namespace+root element in their beans.xml and that namespace had a version in it, we would be able to change the logic/defaults at any time while still being able to support old apps seamlessly. In practice, putting a namespace+root element in their beans.xml is not that hard and most users would just copy it from another module.
We could still support the empty beans.xml, but we could have a comment in the spec that basically says “if you use this, don’t get mad at us when things change” and a clear statement on the right way to do it.
Random thought if we wanted to protect ourselves while still being able to make these kinds of changes in the future.
-David
_______________________________________________
cdi-dev mailing list
cdi-dev@xxxxxxxxxxxTo unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/cdi-dev