On Thu, May 9, 2013 at 11:10 PM, Mircea Markus <mmarkus(a)redhat.com> wrote:
On 9 May 2013, at 20:56, Dan Berindei wrote:
> > 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.
if you do ComponentRegistry.wireDependencies(cacheStore) any annotated
method would get invoked, just curious why would it require an
module.properties...
Well, the component registry looks at the component metadata in the jar, so
it needs a way to load the metadata for all the modules. But it looks like
it doesn't use module.properties, it needs a file called
META-INF/services/org.infinispan.factories.components.ModuleMetadataFileFinder
instead.