[
https://issues.apache.org/jira/browse/DELTASPIKE-783?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14217870#comment-14217870
]
Jozef Hartinger commented on DELTASPIKE-783:
--------------------------------------------
{quote}
Well it will break some EE 6 containers since it is not built in. Then you need
to provide it (which is already a bad idea since DS is built on top of CDI so
API should really be considered provided). Then it means you provide javax.YYY
in a webapp and here troubles can start depending the container.
{quote}
No, you don't. In EE6 environment, where @WithAnnotations is not present,
extensions will continue working as they do today.
> Use @WithAnnotations
> --------------------
>
> Key: DELTASPIKE-783
> URL: https://issues.apache.org/jira/browse/DELTASPIKE-783
> Project: DeltaSpike
> Issue Type: Improvement
> Affects Versions: 1.1.0
> Reporter: Jozef Hartinger
>
> Make use of CDI's @WithAnnotations feature.
> Each extension that does something like:
> {code:JAVA}
> <X> void processAnnotatedType(@Observes ProcessAnnotatedType<X> event) {
> if (!event.getAnnotatedType().isAnnotationPresent(Foo.class)) {
> return;
> }
> // ...
> {code}
> can be extended to:
> {code:JAVA}
> <X> void processAnnotatedType(@Observes @WithAnnotations(Foo.class)
> ProcessAnnotatedType<X> event) {
> if (!event.getAnnotatedType().isAnnotationPresent(Foo.class)) {
> return;
> }
> // ...
> {code}
> This can yield performance boost in CDI 1.1+ environment because:
> 1) the observer method will be only called for annotated types that have the
> annotation, not for all the types in the deployment
> 2) the container may not event need to load the annotated type and its class
> at all if there are no observers requesting the type and the type does not
> represent a bean.
> In addition, this works nice in CDI 1.0 environment where the class
> definition for the annotation is not be found and is ignored.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)