[infinispan-dev] TimeService (ISPN-3069): CacheLoader API break

Dan Berindei dan.berindei at gmail.com
Thu May 9 15:56:14 EDT 2013


On Wed, May 8, 2013 at 2:06 PM, Mircea Markus <mmarkus at redhat.com> wrote:

>
> On 8 May 2013, at 10:40, Pedro Ruivo wrote:
>
> > On 05/08/2013 10:36 AM, Manik Surtani wrote:
> >>
> >> On 8 May 2013, at 10:34, Pedro Ruivo <pedro at infinispan.org> wrote:
> >>
> >>> Hi guys,
> >>>
> >>> In order to use the TimeService inside the cache loaders/stores I had
> to
> >>> change the method init() to include a new parameter the TimeService.
> >>
> >> Won't this break custom/3rd party impls?
> >
> > probably/definitely yes.
> -1
> >
> > but I don't want to create a cache in all the cache loader/store tests
> > that will be used to pick the TimeService.
> >
> > I tried to mock the ComponentRegistry but it is not possible for final
> > classes. I don't want to remove the final :(
> >
> > Another alternative that come to my mind was to add a new method in
> > AdvancedCache that returns the TimeService (and this I can mock it in
> > the test suite)
>
> +1
>
>
Couldn't you change CacheLoaderManager to call
ComponentRegistry.wireDependencies(cacheStore)?

That way, each cache store could have a separate @Inject method, and it
could depend on any cache-scoped or global-scoped component. It may require
an infinispan-module.properties file in each cache store module, but it
then it could be used for any other component.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/infinispan-dev/attachments/20130509/99456908/attachment.html 


More information about the infinispan-dev mailing list