Thanks, Dan.

How this complements the DataNucleus L2 cache? 
Should we explicitely use the cache in our repositories?
 I can wait to see how it' used on Estatio if it's easier to see than explain

> El 18/01/2014, a las 18:57, Dan Haywood <[email protected]> 
> escribió:
> 
> Hi folks,
> 
> Just wanted to do a quick "heads-up" that Isis now supports request-scoped
> services [1].
> 
> These are injected into entities and services just like any other service;
> in fact the implementation [2] is that the service is wrapped in a
> singleton proxy, and the per (thread) request switching is performed within
> the proxy itself.
> 
> Anyway, to indicate that a service is request scoped, just annotate it with
> javax.enterprise.context.RequestScoped.    This is an annotation from the
> CDI spec, of Java EE 6. I hope that one day Isis will support all of the
> CDI annotations; but @RequestScoped is probably the most important one that
> we haven't to date.
> 
> A couple of notes on dependencies: first, that the CDI library is now a
> dependency of Isis' applib, and also that javassist is a dependency of the
> Isis runtime (for that clever proxy support).
> 
> In addition, there are a number of new request-scoped services, part of the
> applib.
> 
> The Scratchpad service [3] provides a way for passing arbitrary data
> between actions; primarily of use for bulk actions.  There's an example
> showing its usage in the todo app [4].
> 
> The QueryResultsCache [5] is a mechanism for performance tuning, something
> that we'll be using in Estatio.  The idea is that, if there's a repository
> query (typically against immutable reference data) tha will be called many
> times within a tight loop), then the repository can use the
> QueryResultsCache to hold onto the repository query results for subsequent
> calls within the same request.
> 
> Finally, the Bulk.InteractionContext [6], a class that was shipped in 1.3.1
> and which provides a mechanism for bulk actions to access the "iterator"
> (getIndex(), isFirst(), isLast() etc), has now been refactored to be a
> request scoped service (previously it was a thread local).
> 
> Ta
> Dan
> 
> 
> [1] https://issues.apache.org/jira/browse/ISIS-652
> [2]
> https://github.com/apache/isis/blob/e7f97df59ccbb0c996dcd53e5626f67a53a0b0a5/core/runtime/src/main/java/org/apache/isis/core/runtime/services/ServiceInstantiator.java
> [3] https://issues.apache.org/jira/browse/ISIS-654
> [4]
> https://github.com/apache/isis/blob/e7f97df59ccbb0c996dcd53e5626f67a53a0b0a5/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItem.java#L591
> [5] https://issues.apache.org/jira/browse/ISIS-655
> [6] https://issues.apache.org/jira/browse/ISIS-653

Reply via email to