Agreed.. I have mutable events all over my current code base.
We should be careful with making the payload imutable. I know of several applications (and companies) that change the payload to send some information back to to the event producer.We shouldn't break these apps, if we can solve it in a different way._______________________________________________2014-12-16 18:46 GMT+01:00 Romain Manni-Bucau <rmannibucau@gmail.com>:Hi Antoine,
why isn't it portable?
Romain Manni-Bucau
@rmannibucau
http://www.tomitribe.com
http://rmannibucau.wordpress.com
https://github.com/rmannibucau
2014-12-16 18:39 GMT+01:00 Pete Muir <pmuir@redhat.com>:
> I don’t think it’s specified. As objects are, by default in Java, mutable, I
> would assume that payloads are implicitly mutable.
>
> On 16 Dec 2014, at 16:31, Antoine Sabot-Durand <antoine@sabot-durand.net>
> wrote:
>
> Hi guys,
>
>
> Always working on Async event concept and discussion around mutable
> payloads. I was looking where in the spec we specified the fact that fired
> payload are mutable. I red-read chapter 10
> (http://docs.jboss.org/cdi/spec/1.2/cdi-spec.html#events) twice and didn’t
> found. I also browsed JIRA and TCK to find any ref to this feature and found
> nothing. On the other hand it is not specified that payload should be
> immutable ;)
>
> I’d be happy if some of you could have a look and see if I missed something.
>
> If I’m not wrong, the mutable payload we (including myself) advertise in CDI
> is a non portable feature (I’m the firs surprised here). So I propose that :
>
> 1) We decide to write something in the specification about allowing or
> forbidding it (I know some people not happy with this mix between observer
> and visitor pattern)
> 1bis) Should we decide to forbid it by default, we should provide an
> alternative mode to allow people using this unspecified feature
> 2) Forbid it for fireAsync()
>
>
> Thanks for your feedback and your correction if I missed the feature in the
> spec.
>
> Antoine
> _______________________________________________
> cdi-dev mailing list
> cdi-dev@lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/cdi-dev
>
> Note that for all code provided on this list, the provider licenses the code
> under the Apache License, Version 2
> (http://www.apache.org/licenses/LICENSE-2.0.html). For all other ideas
> provided on this list, the provider waives all patent and other intellectual
> property rights inherent in such information.
>
>
>
> _______________________________________________
> cdi-dev mailing list
> cdi-dev@lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/cdi-dev
>
> Note that for all code provided on this list, the provider licenses the code
> under the Apache License, Version 2
> (http://www.apache.org/licenses/LICENSE-2.0.html). For all other ideas
> provided on this list, the provider waives all patent and other intellectual
> property rights inherent in such information.
_______________________________________________
cdi-dev mailing list
cdi-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/cdi-dev
Note that for all code provided on this list, the provider licenses the code under the Apache License, Version 2 (http://www.apache.org/licenses/LICENSE-2.0.html). For all other ideas provided on this list, the provider waives all patent and other intellectual property rights inherent in such information.
cdi-dev mailing list
cdi-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/cdi-dev
Note that for all code provided on this list, the provider licenses the code under the Apache License, Version 2 (http://www.apache.org/licenses/LICENSE-2.0.html). For all other ideas provided on this list, the provider waives all patent and other intellectual property rights inherent in such information.