[cdi-dev] [JBoss JIRA] (CDI-583) Observer resolution doesn't support Lambdas

Antoine Sabot-Durand (JIRA) issues at jboss.org
Fri Feb 12 08:56:00 EST 2016

Antoine Sabot-Durand created CDI-583:

             Summary: Observer resolution doesn't support Lambdas
                 Key: CDI-583
                 URL: https://issues.jboss.org/browse/CDI-583
             Project: CDI Specification Issues
          Issue Type: Bug
          Components: Events
    Affects Versions: 2.0-EDR1, 1.2.Final
            Reporter: Antoine Sabot-Durand

As stated in various discussion on JDK8, lambda expressions don't allow to retrieve parameter types by reflection.


As section 10.1 of the spec states:

bq. The event types of the event include all superclasses and interfaces of the runtime class of the event object.

In case of a lambda payload, observer resolution will fails when respecting the rule above since parameter type won't be retrieve from the lambda.

For instance the following code

    Event<Supplier<String>> stringSupplierEvent;
    Supplier<String> stringSupplier = () -> "Hello world";

will triggers an observer for {{Supplier}} but not an observer for {{Supplier<String>}}.

This message was sent by Atlassian JIRA

More information about the cdi-dev mailing list