[cdi-dev] Can an observer be both async and sync?

Tomas Remes tremes at redhat.com
Mon Mar 6 01:55:39 EST 2017


Hi John,

No it shouldn't. The problematic and confusing case would be when there is some other param (injection point) in this observer method and this param resolves to let's say @SessionScoped bean. How does it work then? Once it fails (since there's no context propagation for async event), once it works (sync event)? Therefore this was forbidden.

Tom

----- Original Message -----
From: "John Ament" <john.ament at spartasystems.com>
To: "cdi-dev" <cdi-dev at lists.jboss.org>
Sent: Monday, March 6, 2017 1:42:09 AM
Subject: [cdi-dev] Can an observer be both async and sync?



Section 10.4.4 has the following section which got me thinking 





public void refreshOnDocumentUpdate(@Observes(notifyObserver=IF_EXISTS) @Updated Document doc) { ... } 

public void asyncRefreshOnDocumentUpdate(@ObservesAsync(notifyObserver=IF_EXISTS) @Updated Document doc) { ... } 





I'm wondering, is it OK to have an observer method defined like this? 





public void asyncRefreshOnDocumentUpdate( @Observes(notifyObserver=IF_EXISTS) @ObservesAsync(notifyObserver=IF_EXISTS) @Updated Document doc) { ... } 





I don't see anything against this in the spec, but I suspect most people are going to think this shouldn't work. So I'm asking the question - should it work? 




John 









NOTICE: This e-mail message and any attachments may contain confidential, proprietary, and/or privileged information which should be treated accordingly. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this message, and destroy all physical and electronic copies. Thank you. 

_______________________________________________
cdi-dev mailing list
cdi-dev at 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.

-- 
Tomas Remes




More information about the cdi-dev mailing list