- 
        1. JBoss cache isolation between wars in an ear?mp911de Mar 11, 2011 1:31 AM (in response to susnet)Hi there, this depends on your Config. Usually you would define your JBoss Cache as MBean. When your MBean is defined in your EAR (something like <mbean code="org.jboss.cache.TreeCache" name="some.service:service=TreeCache,name=MyTreeCache"> <depends>jboss:service=Naming</depends> <depends>jboss:service=TransactionManager</depends> ..... </mbean>) you got one Instance (additionally check for Class-Loader-Isolation). When you now use this MBean you have one Cache which should be fine. Have you browsed your Cache to see, what's in it (JMX-Console)? Best regards, Mark 
- 
        2. JBoss cache isolation between wars in an ear?susnet Mar 11, 2011 7:32 AM (in response to mp911de)Thanks for your answer! Where do I define this mbean? I tried in my cache-configuration.xml but nothing happend. I looked into the jmx-console and I see all the cache configuration, but I did not find the nodes with data that should be in the cache. Where do I find it? I use Seam 2.2.1 and on my xhtml-pages I use the <s:cache> tag. The ear contains 2 wars and one jar-ejbmodule. My cache-configuration.xml looks like this: <server> <mbean code="org.jboss.cache.jmx.CacheJmxWrapper" name="jboss.cache:service=Cache,name=MyCache"> <!-- Configure the TransactionManager --> <attribute name="TransactionManagerLookupClass"> org.jboss.cache.JBossTransactionManagerLookup </attribute> <!-- Node locking level : SERIALIZABLE REPEATABLE_READ (default) READ_COMMITTED READ_UNCOMMITTED NONE --> <attribute name="IsolationLevel">READ_COMMITTED</attribute> <!-- Lock parent before doing node additions/removes --> <attribute name="LockParentForChildInsertRemove">false</attribute> <!-- Valid modes are LOCAL (default) REPL_ASYNC REPL_SYNC INVALIDATION_ASYNC INVALIDATION_SYNC --> <attribute name="CacheMode">LOCAL</attribute> <!-- Max number of milliseconds to wait for a lock acquisition --> <attribute name="LockAcquisitionTimeout">10000</attribute> <!-- Specific eviction policy configurations. This is LRU --> <attribute name="EvictionConfig"> <config> <attribute name="wakeUpIntervalSeconds">5</attribute> <attribute name="policyClass">org.jboss.cache.eviction.LRUPolicy</attribute> <!-- Cache wide default --> <region name="/_default_"> <attribute name="maxNodes">100</attribute> </region> <region name="/sidebarLeftFragments"> <attribute name="maxNodes">100</attribute> <attribute name="timeToLiveSeconds">3600</attribute> </region> ... Should I replace CacheJmxWrapper with org.jboss.cache.TreeCache ? 
- 
        3. JBoss cache isolation between wars in an ear?mp911de Mar 11, 2011 10:45 AM (in response to susnet)My example was for JBoss Cache 1. When you use JBoss Cache >= Release 2 your Config-File is ok (more Reference see http://docs.jboss.org/jbosscache/2.0.0.GA/JBossCache-UserGuide/en/html_single/index.html#sample_xml_file) It sound like your Cache isn't used anyway. I suppose, Seam creates for each WAR a Cache (MBean) Instance. Try different MBean names for your two Caches, then you should be able to see the Cache-Entries. With Eh-Cache, there is an static Impl, so that different Cache-Instances are merged to one Cache. That could be one possible Solution. The other could be, to flush two JBoss Caches. Best regards, Mark 
- 
        4. JBoss cache isolation between wars in an ear?susnet Mar 12, 2011 7:03 AM (in response to mp911de)Thanks again for replying! Well I do use JBoss Cache 1. But now it occured to me that my config file is not read at all. In components.xml that is put in WEB-INF I define the cache and if I put <cache:jboss-cache-provider configuration="META-INF/cache-configuration.xml" /> The cache works but I don't think this file is read because my nodes timeouts does not work. If I also add the name attribute like this: <cache:jboss-cache-provider name="myCache" configuration="META-INF/cache-configuration.xml" /> then I get org.jboss.cache.ConfigureException: input stream is null for property xml. I also tried using JBoss Cache 2 but get the same exception. org.jboss.cache.ConfigureException: input stream is null for property xml I guess this means that the config-file is not found although I put this file like everywhere, both in ejb jar META-INF and in ear/META-INF war/META-INF so that it really should be found. I thought that having the name attribute set then I can get hold of it via @In (value="myCache") CacheProvider . From the Seam manual I read If you want to have multiple cache configurations in your application, use components.xmlto configure multiple cache providers:<components xmlns="http://jboss.com/products/seam/components" 
 xmlns:cache="http://jboss.com/products/seam/cache">
 <cache:jboss-cache-provider name="myCache" configuration="myown/cache.xml"/>
 <cache:jboss-cache-provider name="myOtherCache" configuration="myother/cache.xml"/>
 </components>So I guess this is how it should be done but my problem is that my cache-configuration.xml could not be read? Do you have any ideas? 
- 
        5. JBoss cache isolation between wars in an ear?mp911de Mar 12, 2011 2:10 PM (in response to susnet)According to Seam Docs, te cache config xml is needed on the classpath ( You'll also need to provide a configuration file for JBossCache. Place treecache.xmlwith an appropriate cache configuration into the classpath (e.g. the ejb jar orWEB-INF/classes). JBossCache has many scary and confusing configuration settings, so we won't discuss them here. Please refer to the JBossCache documentation for more information.)Try to put your cache-configuration.xml to META-INF in some of your Jars that are used by your war. 
- 
        6. JBoss cache isolation between wars in an ear?susnet Mar 12, 2011 5:16 PM (in response to mp911de)Thank you again for your answer! Yes I put the cache-configuration.xml file in that place (in META-INF in my ejb jar module), and I also tried all other META-INF places in the ear and in the war and I double checked spellings and also checked the deployed files on JBoss and the file is there and the jgroups.jar and jboss-cache.jar is also there so there are no build-deployment errors. So I have no idea why it is not found. Maybe I should report this as a bug in seam? I use seam 2.2.1.final and the jboss-cache.jar and jgroups.jar I use are those that are included in the seam 2.2.1.final download. There has been a lot of bugs with seam and ear deployment before, I believe they mainly test single war deployments. 
- 
        7. JBoss cache isolation between wars in an ear?mp911de Mar 13, 2011 9:06 AM (in response to susnet)Hi, sounds like a Bug, but try to ask the guys in http://community.jboss.org/en/seam?view=discussions Best regards, Mark 
- 
        8. JBoss cache isolation between wars in an ear?susnet Mar 18, 2011 5:42 PM (in response to mp911de)Thank you again! Actually I managed to solve the exception problem with the name. I solved it by adding the attribute cacheProvider="#{rmyCache}" to the s:cache tag. But still, requests for cacheProvider from b.war will not find the cache from a.war even though I gave them the same name (myCache). And also the cache-configuration.xml I'm really unsure if it is read since my nodes lives forever even though I configured it to only live for one hour. But I guess this is also a question for the seam guys. I have asked my question here in the seam forum: http://seamframework.org/Community/SeamJBossCachePossibleToHaveOneCacheSharedBetweenAllWarsInAnEar Thank you again for responding! Have a great weekend! /Susanne 
 
    