However, only a bean annotated with @LoadAsync can possibly be loaded asynchronously. So, if you just look up your own bean within TemplateUtil and that bean is not annotated with @LoadAsync, you should be fine. The callback will always be invoked synchronously then.
Christian On 2013-03-27, at 1:44 PM, Christian Sadilek <[email protected]> wrote: > If async IOC is active, the callback will be invoked asynchronously (at least > when it first downloads the source for the corresponding bean). You can take > a look at the new ListWidget implementation which needs to wait until all > callbacks have been executed as well: > https://github.com/errai/errai/blob/master/errai-ui/src/main/java/org/jboss/errai/ui/client/widget/ListWidget.java > > Another option is to make use of the InitVotes system: > https://github.com/errai/errai/blob/master/errai-common/src/main/java/org/jboss/errai/common/client/api/extension/InitVotes.java > > This is unfortunate but there seems to be no way around it when supporting > async bean management. > > Cheers, > Christian > > On 2013-03-27, at 1:29 PM, Eric Wittmann <[email protected]> wrote: > >> Is the bean lookup going to be done synchronously though (regardless of >> the impl)? That's very important in this case. The TemplateUtil is >> going to be invoked several times in sequence (different methods). If >> one of the TemplateUtil methods does something asynchronously that's a >> problem. If not, is there a wait-notify pattern that should be used? >> >> -Eric >> >> On 03/27/2013 01:24 PM, Christian Sadilek wrote: >>> Actually we have just abstracted that. When you ask for the async bean >>> manager IOC.getAsyncBeanManager() it will work in either case. If >>> synchronous bean management is enabled it will return an adapter where the >>> callback will just immediately be invoked. >>> >>> So, just always use the async bean manager API. That code can of course >>> also be generated, if you wanted/needed to. >>> >>> On 2013-03-27, at 1:19 PM, Eric Wittmann <[email protected]> wrote: >>> >>>> I think the advent of the async bean manager may have complicated this >>>> though, right? I don't *think* I can simply get the bean manager and >>>> ask it for the bean (there are a couple of different getters now - one >>>> to get the sync bean manager and one to get the async bean manager). >>>> >>>> One thing I tried that worked but that I don't like: turn the >>>> @ApplicationScoped bean into a singleton and reference it using a static >>>> method. Ugly but worked. Ideally I think TemplateUtil should itself be >>>> an injected bean, rather than a class with some static methods. >>>> >>>> But that just moves the problem to "how do I reference an injected bean >>>> in code generated by a Decorator/Extension?" :) >>>> >>>> On 03/27/2013 01:13 PM, Lincoln Baxter, III wrote: >>>>> To answer Question #3, this would either need to be coded into the call >>>>> to TemplateUtil from the BootstrapperImpl code (done in >>>>> DecoratorTemplated.java) or I believe there is a convenience utility to >>>>> get the BeanManager in Errai: >>>>> >>>>> CDI.current() or something like that. Mike? >>>>> >>>>> >>>>> On Tue, Mar 26, 2013 at 12:20 PM, Eric Wittmann >>>>> <[email protected] <mailto:[email protected]>> wrote: >>>>> >>>>> Hey guys. I've sketched out a proposed approach (not 100% compete but >>>>> ok to start) for i18n. Would appreciate it if you could take a look >>>>> at it. >>>>> >>>>> At the bottom you will find 3 questions that I would (in particular) >>>>> love your thoughts on. >>>>> >>>>> >>>>> https://docs.google.com/document/d/1BapD4FHMNur0OYdIg-vwXYHWW_2Mhra_Ki2nYAh9qxY/pub >>>>> >>>>> -Eric >>>>> _______________________________________________ >>>>> errai-dev mailing list >>>>> [email protected] <mailto:[email protected]> >>>>> https://lists.jboss.org/mailman/listinfo/errai-dev >>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> Lincoln Baxter, III >>>>> http://ocpsoft.org >>>>> "Simpler is better." >>>>> >>>>> >>>>> _______________________________________________ >>>>> errai-dev mailing list >>>>> [email protected] >>>>> https://lists.jboss.org/mailman/listinfo/errai-dev >>>>> >>>> _______________________________________________ >>>> errai-dev mailing list >>>> [email protected] >>>> https://lists.jboss.org/mailman/listinfo/errai-dev >>> >>> >>> _______________________________________________ >>> errai-dev mailing list >>> [email protected] >>> https://lists.jboss.org/mailman/listinfo/errai-dev >>> >> _______________________________________________ >> errai-dev mailing list >> [email protected] >> https://lists.jboss.org/mailman/listinfo/errai-dev >
_______________________________________________ errai-dev mailing list [email protected] https://lists.jboss.org/mailman/listinfo/errai-dev
