[jbosscache-dev] Re: ComponentRegistry and TransactionManager
Manik Surtani
manik at jboss.org
Fri Jan 11 08:48:23 EST 2008
Brian
This is a bug in the ComponentRegistry. The way it works at the
moment, when we start(), we recreate any components where construction
differs based on configuration, such as the interceptor chain and node
factory. the TM should be there as well - will patch this up and
check it into trunk.
Cheers
Manik
On 10 Jan 2008, at 18:39, Brian Stansberry wrote:
> Interesting change from the ComponentRegistry has bitten me in the
> ass.
>
> The resolution of the TransactionManager used to take place in
> CacheImpl.create(), now it's happening via
> DefaultCacheFactory.bootstrap() -- i.e. as part of cache construction.
>
> This causes problems with the Hibernate integration, which injects
> the TM it knows about into the RuntimeConfig of the already-existing
> cache, before it calls create(). But that's too late -- the
> TransactionManagerFactory has already logged an error about a
> missing TM.
>
> A solution would be for Hibernate to get a Configuration first,
> inject the TM, and then build the cache. But the CacheManager API
> doesn't expose a good way to do that. An external caller can't
> modify the registered configurations.
>
> So:
>
> 1) What do you think about changing the ConfigurationRegistry API to
> allow some sort of updating of registered configurations?
>
> 2) In general, do you think it's a problem that we are now resolving
> things earlier in the process than we used to? Other users may also
> be doing things programatically after cache construction but before
> create/start.
>
> --
> Brian Stansberry
> Lead, AS Clustering
> JBoss, a division of Red Hat
> brian.stansberry at redhat.com
--
Manik Surtani
Lead, JBoss Cache
manik at jboss.org
More information about the jbosscache-dev
mailing list