[jbosscache-dev] JBCACHE-1156 - configuration profiles
Brian Stansberry
brian.stansberry at redhat.com
Fri Nov 2 16:07:50 EDT 2007
Manik Surtani wrote:
>
> On 2 Nov 2007, at 15:44, Brian Stansberry wrote:
>
>> Manik Surtani wrote:
>>> Brian,
>>> I had a look at what you checked in for this; it looks pretty good,
>>> but why a package called 'registry'? This tends to make me think of
>>> other things, like a component registry, perhaps something related to
>>> DI even.
>>
>> I went back and forth on that a few times; yeah I guess I went in the
>> registry direction because:
>>
>> 1) I did ConfigurationRegistry first and its API is more like a registry.
>>
>> 2) For CacheRegistry, my thinking long term for an expanded impl of
>> this interface in the AS that would also be more like a registry. But,
>> yeah, looking at the interface now, it's not a registry interface.
>>
>> 3) It didn't really seem to fit w/ the stuff in the "factories" package.
>>
>> That said, #1 and #2 are not good arguments, and #3 is mediocre. Do
>> you think this stuff belongs in the "factories" package?
>
> ConfigurationRegistry - perhaps in the o.j.c.config package, given it is
> a registry of configurations?
>
+1; makes sense.
> CacheRegistry methods should perhaps be called CacheManager, given that
> it "manages" caches by giving you a cache by name, optionally creating
> it if it doesn't exist? The more I think about it it doesn't quite fit
> in CacheFactory either since a factory should just "create" caches, not
> "manage" them. I guess both CacheRegistry and CacheManager make sense;
> I'd lean towards CacheManager though, since this is where JSR107 is
> heading re: an interface that does the same kind of thing.
CacheManager sounds good to me too. CacheRegistry was really a mistake,
since there is nothing like a "register" method. And I'm not sure there
ever needs to be one, since a caller that wants to register a cache can
create a config, register it with the ConfigurationRegistry, and then
call CacheManager.get(name, true).
> I still
> don't like the registry package though - maybe this should sit in
> org.jboss.cache, alongside the Cache interface?
>
Fine by me; CacheFactory and DefaultCacheFactory are in there as well,
so it's consistent with that usage.
>>
>>> Regarding the methods you have, around getCacheNames, getCache,
>>> releaseCache, etc., I wonder whether this should be a part of the
>>> DefaultCacheFactory.
>>
>> Doing it in DefaultCacheFactory might be OK, but I'd like to maintain
>> an interface and any needed hooks in other classes to allow this to be
>> implemented otherwise. This kind of comes back to my comment on the
>> JIRA about whether this belongs in JBC at all -- it's basically there
>> so Hibernate standalone can consume it (w/ EJB3 entities in the AS not
>> changing in any significant way how that's done.) But for other users
>> in the AS (session repl) in the future I may want to do a richer
>> implementation using a more complex AS-only subinterface. (That could
>> be done in JBC as well if you think it's generally useful, but for
>> 2.1.0 I just wanted to focus on meeting the Hibernate need.)
>
> I think this stuff does make sense in the core cache, since even
> standalone use would benefit from being able to retrieve an existing,
> running cache from a manager, not just new caches.
>
OK, good, glad you feel that way.
Sorry I got to this so late in the game. :(
> Cheers,
> Manik
> --
> Manik Surtani
> Lead, JBoss Cache
> manik at jboss.org
>
>
>
>
>
>
--
Brian Stansberry
Lead, AS Clustering
JBoss, a division of Red Hat
brian.stansberry at redhat.com
More information about the jbosscache-dev
mailing list