[jboss-dev] Re: Default jbosscache usage in JBoss AS 4.2/EJB3

Brian Stansberry brian.stansberry at redhat.com
Tue Apr 17 16:27:37 EDT 2007


For SFSB's, the first part of the Fqn is obtained by 
Container.getEjbName().  AIUI, only one container per vm can have a 
particular ejb name, so beans from different deployments are segregated.

For entities, by default Hibernate uses the name of the entity's class 
as the first part of the Fqn. So, multiple deployments that use the same 
entity class would end up placing objects in the same region of the 
cache. If hibernate.cache_region.prefix is set, that value is used as a 
further qualifier to the Fqn.

Bill Burke wrote:
> Don't we do something like this for SFSBs already?  I don't remember the 
> code I wrote *blush*.
> 
> Brian Stansberry wrote:
>> Forwarding to Carlo and Bill DeCoste.  The 
>> hibernate.cache_region.prefix would need to be derived from the 
>> deployment scope, probably the same algorithm used to create JMX 
>> ObjectNames for the deployment's beans. Want to keep the name fairly 
>> short, as it gets transmitted with every replication/invalidation 
>> message.
>>
>> Emmanuel Bernard wrote:
>>> Don't know who exactly, but definitely, Carlo should be aware of that.
>>>
>>> On 17 avr. 07, at 09:57, Max Rydahl Andersen wrote:
>>>
>>>> Hi guys,
>>>>
>>>> From various discussions I understand that JBoss AS 4.2 currently 
>>>> deploys a single JBC instance for use as a shared cache across EJB3 
>>>> deployments
>>>> and that individual EJB3 deployments will by default share the same 
>>>> cache resulting in them sharing the same cache regions.
>>>>
>>>> That is bad!
>>>>
>>>> Two independent applications should not share the same cache regions 
>>>> - they should *always* be seperated by setting 
>>>> hibernate.cache_region.prefix so
>>>> they only get access to the data that is actually relevant for them.
>>>>
>>>> There will also be classloading issues with such a scheme.
>>>>
>>>> From my understanding the place to fix this is in the ejb3 deployer 
>>>> to use whatever unique name these deployments have so the same 
>>>> cache_region.prefix
>>>> will be set correctly across different nodes etc.
>>>>
>>>> If the above assumption about 4.2 is correct, who is the right 
>>>> person to fix that ?
>>>>
>>>> ----
>>>> Max Rydahl Andersen
>>>> callto://max.rydahl.andersen
>>>>
>>>> Hibernate
>>>> max at hibernate.org
>>>> http://hibernate.org
>>>>
>>>> JBoss a division of Red Hat
>>>> max.andersen at jboss.com
>>>
>>
>>
> 


-- 
Brian Stansberry
Lead, AS Clustering
JBoss, a division of Red Hat
brian.stansberry at redhat.com




More information about the jboss-development mailing list