Btw, this discussion should be extended to Infinispan dev list in case we can 
improve on the custom commands SPI.

In the case of Hibernate 2LC, the custom command is really a cache specific 
one, so we could potentially tie up cache specific custom commands to the cache 
lifecycle, but still don't see how it can really help with the issue below.

Begin forwarded message:

> From: Galder Zamarreño <[email protected]>
> Subject: Re: looking again at AS7-3290 and Hibernate 4.0.1...
> Date: February 6, 2012 10:49:03 AM GMT+01:00
> To: Scott Marlow <[email protected]>
> Cc: Tristan Tarrant <[email protected]>, Steve Ebersole 
> <[email protected]>, Paul Ferraro <[email protected]>
> 
> 
> On Feb 3, 2012, at 6:43 PM, Scott Marlow wrote:
> 
>> On 02/03/2012 10:33 AM, Scott Marlow wrote:
>>> I was just reviewing the change we made to address
>>> https://issues.jboss.org/browse/AS7-3290 (Infinispan needed to see the
>>> Hibernate-Infinispan modules services, when AS7 constructs the
>>> Infinispan global component registry).
>>> 
>>> This turns into a dependency from the AS7
>>> org.jboss.as.clustering.infinispan module onto our
>>> org.hibernate.infinispan module (contains the Hibernate-Infinispan 4.0.1
>>> jar).
>>> 
>>> Community users are asking to use the Infinispan 2lc with Hibernate
>>> 3.6.x also which we don't ship. I would imagine that the same request
>>> will come in for OGM in the future.
> 
> If they wanna use Infinispan 2LC with Hibernate 3.6.x, they won't be able to 
> use Infinispan 5.1.x. So far, 3.6.x has only been tested with 4.2.x.
> 
> Are you sure this is gonna be supported??
> 
>>> 
>>> Is there another way to avoid this dependency between the constructor of
>>> the Infinispan global component registry and all of the persistence
>>> provider modules that want to use the 2lc?
>> 
>> Is this the commit that brought this requirement in? 
>> https://github.com/hibernate/hibernate-orm/commit/cc9fbf42a9a75a2317675907ed077d84826117db
>> 
>> Could this be made optional or reverted in a 4.0.2.Final build?
> 
> Hmmmm, that would require going back to using a cache as a way to send evict 
> all invalidation messages around the cluster which is a hack. Custom commands 
> are the best way to handle this use case IMO. 
> 
> At the moment, these commands at their factories are loaded on startup, when 
> the GCR is created.
> 
> I wonder if it would help if Infinispan would load them lazily? 
> RemoteCommandFactory could potentially look up the command factory when it 
> receives a request for a custom command, but you still have the same issue of 
> needing to find Hibernate 2LC classes from Infinispan jar.
> 
> Btw, I don't see how different this problem is to when a user defines a 
> custom cache loader (or any other SPIs we have) and wants to plug that into 
> Infinispan. The CL where Infinispan is, is gonna need to know about these 
> custom classes. Same thing happens for Hibernate 2LC which is implementing an 
> SPI.
> 
>> 
>>> 
>>> Scott
>> 
> 
> --
> Galder Zamarreño
> Sr. Software Engineer
> Infinispan, JBoss Cache
> 

--
Galder Zamarreño
Sr. Software Engineer
Infinispan, JBoss Cache


_______________________________________________
infinispan-dev mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/infinispan-dev

Reply via email to