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

Alexey Loubyansky alexey.loubyansky at redhat.com
Wed Apr 18 06:35:03 EDT 2007


Brian Stansberry wrote:
> 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.

The ejb-name is unique in the ejb-jar, not the vm.

Alexey

> 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
>>>>
>>>
>>>
>>
> 
> 



More information about the jboss-development mailing list