[cdi-dev] [JBoss JIRA] (CDI-721) configureAnnotatedType vs setAnnotatedType restrition is unecessarily strict
Mark Struberg (JIRA)
issues at jboss.org
Sat Jan 27 07:55:00 EST 2018
[ https://issues.jboss.org/browse/CDI-721?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13524924#comment-13524924 ]
Mark Struberg commented on CDI-721:
-----------------------------------
So it seems we all do agree that this restriction is technically not needed, right?
And here is why I came across it:
Customer wanted to extend his old code (using getAnnoatedType() + wrapping it + setAnnotatedType(wrappedAT)).
Of course he want's to leverage CDI-2.0 configureAnnotatedType. But for performance reasons and ease of reproducibility (observer ordering) they only have 1 PAT observer where they simply call the old method and the new method.
It's not always nonsense to mix those 2 approaches. Just because we didn't think about it doesn't mean we should forbid it!
> configureAnnotatedType vs setAnnotatedType restrition is unecessarily strict
> ----------------------------------------------------------------------------
>
> Key: CDI-721
> URL: https://issues.jboss.org/browse/CDI-721
> Project: CDI Specification Issues
> Issue Type: Bug
> Components: Portable Extensions
> Affects Versions: 2.0 .Final
> Reporter: Mark Struberg
>
> {noformat}
> Any observer of this event is permitted to wrap and/or replace the AnnotatedType by calling either setAnnotatedType() or configureAnnotatedType(). If both methods are called within an observer notification an IllegalStateException is thrown.
> {noformat}
> This rule is way too strict without any real reason.
> Any CDI container must support that both methods are being called on the same event payload anyway. Because we did not forbid that observerMethod1 invokes setAnnotatedType and observerMethod2 uses configureAnnoatedType. And that's good that way, otherwise the pluggability would be lost.
> We should delete this sentence without any substitution.
> The same applies to similar configurator methods like configureBeanAttributes, etc.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
More information about the cdi-dev
mailing list