[ http://jira.jboss.com/jira/browse/JBCACHE-34?page=history ]

fredatwork updated JBCACHE-34:
------------------------------

    Attachment: replSync-service.xml

JBossCache service config file

> Unexpected ClassNotFoundException and replSync-service.xml redeployment
> -----------------------------------------------------------------------
>
>          Key: JBCACHE-34
>          URL: http://jira.jboss.com/jira/browse/JBCACHE-34
>      Project: JBoss Cache
>         Type: Bug
>  Environment: JBoss 4.0.0 (running on Windows XP SP2)
>     Reporter: fredatwork
>     Assignee: Bela Ban
>  Attachments: replSync-service.xml, testcache.zip
>
>
> I'm running JBoss 4.0.0 with default configuration.
> In order to enable JBossCache (and JBoss AOP) in default configuration, I 
> copied
> - ${JBOSS_HOME}/server/all/lib/jboss-cache.jar into 
> ${JBOSS_HOME}/server/default/lib
> - ${JBOSS_HOME}/server/all/deploy/jboss-aop.deployer into 
> ${JBOSS_HOME}/server/default/deploy
> I have built a small testcase with a valid POJO called SignalProgramCache. 
> JbossCache already succeeded in putting it in the cache in some 
> configurations (see below). Therefore, I assume it is  a ** valid ** 
> serializable POJO. Since it is a serializable POJO, aop precompilation was 
> not applied.
> I have problems putting this object in the cache when I deploy it inside an 
> EAR file.
> I've built a small testcase to test this and reproduce the problem.
> Instructions for using this testcase are provided at the end of this 
> description.
> I would like to communicate this testcase to you but I do not know how to 
> send you the associated archive. I've been told to fill in this form by Scott 
> Stark (see http://www.jboss.org/index.html?module=bb&op=viewtopic&t=58228). 
> My email is [EMAIL PROTECTED] .
> My SignalProgramCache POJO is created in memory by JBoss AS, but JBossCache 
> fails to put it in the cache. The JBossCache is accessed by a session bean 
> with a comparable snippet as the one provided below:
> SimpleProgramCache object = ...; // Creates a valid POJO
> String serviceName = ....; // The valid name of my JBossCache TreeCacheAOP 
> service
> MBeanServer server = MBeanServerLocator.locate();
> TreeCacheAopMBean cache = (TreeCacheAopMBean) MBeanProxyExt.create(
>     TreeCacheAopMBean.class,
>     serviceName,
>     server);
> cache.putObject("/program/signals", object);
> I receveive the following exception on the JBoss AS console when I attempt to 
> put the object in the cache:
> org.jboss.util.NestedRuntimeException: java.lang.ClassNotFoundException: No 
> ClassLoaders found for: com.rubis.app.runtime.programs.SignalProgramCache; - 
> nested throwable: (java.lang.IllegalArgumentException: 
> java.lang.ClassNotFoundException: No ClassLoaders found for: 
> com.rubis.app.runtime.programs.SignalProgramCache)
> at org.jboss.cache.TreeCache.invokeMethod(TreeCache.java:3176)
> at org.jboss.cache.TreeCache.put(TreeCache.java:1735)
> at org.jboss.cache.aop.TreeCacheAop._putObject(TreeCacheAop.java:293)
> at org.jboss.cache.aop.TreeCacheAop.putObject(TreeCacheAop.java:128)
> at org.jboss.cache.aop.TreeCacheAop.putObject(TreeCacheAop.java:109)
> .../...
> The SignalProgramCache.class file is put inside an EJB jar file, containing a 
> session bean as well (the session acting as a facade for reading from and 
> writing in the cache ; this session is remotely used by a basic RMI client). 
> The EJB jar file is in turn contained in an EAR file with an *empty* WAR 
> file, containing a dummy web.xml file. The EAR file is deployed to JBoss. The 
> client is a basic java RMI client; no servlet is used by the testcase.
> Now here is what I do not understand:
> - When I deploy the EJB JAR file only (containing the session facade and the 
> POJO), the testcase succeeds fine and I never get any problem (the cache is 
> being written in and read afterwards by the RMI client through the session 
> facade). The problem only happens when an EAR file is deployed.
> - When I start JBoss AS 4.0.0, with the EAR file and the replSync-service.xml 
> siting in the ${JBOSS-HOME}/server/default/deploy directory, then the 
> testcase fails systematically. The cache cannot be written in by the RMI 
> client and I get the exception described above. Then, I perform the following 
> steps:
> a. I redeploy the replSync-service.xml a first time (by removing from the 
> deploy directory and coping it again in it). I then tried the test case: it 
> fails.
> b. I redeploy again the replSync-service.xml a second time (by removing from 
> the deploy directory and coping it again in it).
> Then, I run the test case and it works fine.
> Note that ( I believe it is important), when I redeploy the 
> replSync-service.xml file a second time (step b/), then I get the following 
> traces on the JBoss AS console:
> 21:45:26 WARN  [GMS:[EMAIL PROTECTED] checkSelfInclusion() failed, 
> 192.168.0.5:1480 is not a member of view [192.168.0.5:1483|2] 
> [192.168.0.5:1483]; discarding view
> 21:45:26 WARN  [GMS:[EMAIL PROTECTED] I (192.168.0.5:1480) am being shunned, 
> will leave and rejoin group (prev_members are [192.168.0.5:1480 
> 192.168.0.5:1483 ])
> 21:45:26 INFO  [TreeCache:[EMAIL PROTECTED] viewAccepted(): new members: 
> [192.168.0.5:1483]
> 21:45:26 WARN  [CoordGmsImpl:[EMAIL PROTECTED] I am the coord and I'm being 
> am suspected -- will probably leave shortly
> I realized that when this warning shows up, then the testcase works !!! 
> Sometimes, I need to redeploy the replSync-service.xml file three times, 
> before this trace appears (and the testcase then works). Sometimes, the 
> warning appears after on redeployment only (and  testcase works after one 
> redeployment). But is never works just after JBoss is started with both the 
> EAR file and the replSync-service.xml file sitting in the deploy directory.
> Note that when I start JBoss AS 4.0.0 at first, I get the following exception 
> because of the replSync-service.xml file:
> 21:25:22 ERROR [DummyTransactionManager:[EMAIL PROTECTED] binding of 
> DummyTransactionManager failed
> javax.naming.NameAlreadyBoundException
>       at org.jnp.server.NamingServer.bind(NamingServer.java:130)
>       at org.jnp.interfaces.NamingContext.bind(NamingContext.java:489)
>       at org.jnp.interfaces.NamingContext.bind(NamingContext.java:460)
>       at javax.naming.InitialContext.bind(Unknown Source)
>       at 
> org.jboss.cache.transaction.DummyTransactionManager.getInstance(DummyTransactionManager.java:41)
>       at 
> org.jboss.cache.DummyTransactionManagerLookup.getTransactionManager(DummyTransactionManagerLookup.java:17)
>       at org.jboss.cache.TreeCache.startService(TreeCache.java:1083)
>       at 
> org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:271)
>       at 
> org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:221)
>       at sun.reflect.GeneratedMethodAccessor47.invoke(Unknown Source)
>       at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>       at java.lang.reflect.Method.invoke(Unknown Source)
>       at 
> org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
>       at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
>       at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
>       at 
> org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:242)
>       at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:642)
>       at 
> org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:891)
>       at $Proxy0.start(Unknown Source)
>       at org.jboss.system.ServiceController.start(ServiceController.java:416)
>       at sun.reflect.GeneratedMethodAccessor5.invoke(Unknown Source)
>       at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>       at java.lang.reflect.Method.invoke(Unknown Source)
>       at 
> org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
>       at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
>       at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
>       at 
> org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:242)
>       at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:642)
>       at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:176)
>       at $Proxy4.start(Unknown Source)
>       at org.jboss.deployment.SARDeployer.start(SARDeployer.java:261)
>       at org.jboss.deployment.MainDeployer.start(MainDeployer.java:935)
>       at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:746)
>       at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:709)
>       at sun.reflect.GeneratedMethodAccessor30.invoke(Unknown Source)
>       at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>       at java.lang.reflect.Method.invoke(Unknown Source)
>       at 
> org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
>       at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
>       at 
> org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:119)
>       at org.jboss.mx.server.Invocation.invoke(Invocation.java:74)
>       at 
> org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:131)
>       at org.jboss.mx.server.Invocation.invoke(Invocation.java:74)
>       at 
> org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:242)
>       at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:642)
>       at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:176)
>       at $Proxy8.deploy(Unknown Source)
>       at 
> org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:305)
>       at 
> org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:481)
>       at 
> org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:204)
>       at 
> org.jboss.deployment.scanner.AbstractDeploymentScanner.startService(AbstractDeploymentScanner.java:277)
>       at 
> org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:271)
>       at 
> org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:221)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>       at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>       at java.lang.reflect.Method.invoke(Unknown Source)
>       at 
> org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
>       at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
>       at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
>       at 
> org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:242)
>       at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:642)
>       at 
> org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:891)
>       at $Proxy0.start(Unknown Source)
>       at org.jboss.system.ServiceController.start(ServiceController.java:416)
>       at sun.reflect.GeneratedMethodAccessor5.invoke(Unknown Source)
>       at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>       at java.lang.reflect.Method.invoke(Unknown Source)
>       at 
> org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
>       at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
>       at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
>       at 
> org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:242)
>       at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:642)
>       at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:176)
>       at $Proxy4.start(Unknown Source)
>       at org.jboss.deployment.SARDeployer.start(SARDeployer.java:261)
>       at org.jboss.deployment.MainDeployer.start(MainDeployer.java:935)
>       at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:746)
>       at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:709)
>       at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:693)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>       at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>       at java.lang.reflect.Method.invoke(Unknown Source)
>       at 
> org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
>       at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
>       at 
> org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:119)
>       at org.jboss.mx.server.Invocation.invoke(Invocation.java:74)
>       at 
> org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:131)
>       at org.jboss.mx.server.Invocation.invoke(Invocation.java:74)
>       at 
> org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:242)
>       at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:642)
>       at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:176)
>       at $Proxy5.deploy(Unknown Source)
>       at org.jboss.system.server.ServerImpl.doStart(ServerImpl.java:396)
>       at org.jboss.system.server.ServerImpl.start(ServerImpl.java:293)
>       at org.jboss.Main.boot(Main.java:151)
>       at org.jboss.Main$1.run(Main.java:405)
>       at java.lang.Thread.run(Unknown Source)
> This exception disapears when the replSync-service.xml is redeployed (step a/ 
> or b/).
> Here is my replSync-servic.xml file :
> <?xml version="1.0" encoding="UTF-8"?>
> <!-- ===================================================================== -->
> <!--                                                                       -->
> <!--  Sample TreeCache Service Configuration                               -->
> <!--                                                                       -->
> <!-- ===================================================================== -->
> <server>
>     <classpath codebase="./lib" archives="jboss-cache.jar, jgroups.jar"/>
>     <!-- ==================================================================== 
> -->
>     <!-- Defines TreeCache configuration                                      
> -->
>     <!-- ==================================================================== 
> -->
>     <mbean code="org.jboss.cache.TreeCache"
>         name="jboss.cache:service=TreeCache">
>         <depends>jboss:service=Naming</depends>
>         <depends>jboss:service=TransactionManager</depends>
>         <!--
>         Configure the TransactionManager
>     -->
>         <attribute 
> name="TransactionManagerLookupClass">org.jboss.cache.DummyTransactionManagerLookup</attribute>
>         <!--
>             Isolation level : SERIALIZABLE
>                               REPEATABLE_READ (default)
>                               READ_COMMITTED
>                               READ_UNCOMMITTED
>                               NONE
>         -->
>         <attribute name="IsolationLevel">REPEATABLE_READ</attribute>
>         <!--
>              Valid modes are LOCAL, REPL_ASYNC and REPL_SYNC
>         -->
>         <attribute name="CacheMode">REPL_SYNC</attribute>
>         <!--
>         Just used for async repl: use a replication queue
>         -->
>         <attribute name="UseReplQueue">false</attribute>
>         <!--
>             Replication interval for replication queue (in ms)
>         -->
>         <attribute name="ReplQueueInterval">0</attribute>
>         <!--
>             Max number of elements which trigger replication
>         -->
>         <attribute name="ReplQueueMaxElements">0</attribute>
>         <!-- Name of cluster. Needs to be the same for all clusters, in order
>              to find each other
>         -->
>         <attribute name="ClusterName">TreeCache-Cluster</attribute>
>         <!-- JGroups protocol stack properties. Can also be a URL,
>              e.g. file:/home/bela/default.xml
>            <attribute name="ClusterProperties"></attribute>
>         -->
>         <attribute name="ClusterConfig">
>             <config>
>                 <!-- UDP: if you have a multihomed machine,
>                 set the bind_addr attribute to the appropriate NIC IP 
> address, e.g bind_addr="192.168.0.2"
>                 -->
>                 <!-- UDP: On Windows machines, because of the media sense 
> feature
>                  being broken with multicast (even after disabling media 
> sense)
>                  set the loopback attribute to true -->
>                 <UDP mcast_addr="228.1.2.3" mcast_port="45566"
>                     ip_ttl="64" ip_mcast="true"
>                     mcast_send_buf_size="150000" mcast_recv_buf_size="80000"
>                     ucast_send_buf_size="150000" ucast_recv_buf_size="80000"
>                     loopback="false"/>
>                 <PING timeout="2000" num_initial_members="3"
>                     up_thread="false" down_thread="false"/>
>                 <MERGE2 min_interval="10000" max_interval="20000"/>
>                 <!--        <FD shun="true" up_thread="true" 
> down_thread="true" />-->
>                 <FD_SOCK/>
>                 <VERIFY_SUSPECT timeout="1500"
>                     up_thread="false" down_thread="false"/>
>                 <pbcast.NAKACK gc_lag="50" 
> retransmit_timeout="600,1200,2400,4800"
>                     up_thread="false" down_thread="false"/>
>                 <pbcast.STABLE desired_avg_gossip="20000"
>                     up_thread="false" down_thread="false"/>
>                 <UNICAST timeout="600,1200,2400" window_size="100" 
> min_threshold="10"
>                     down_thread="false"/>
>                 <FRAG frag_size="8192"
>                     down_thread="false" up_thread="false"/>
>                 <pbcast.GMS join_timeout="5000" join_retry_timeout="2000"
>                     shun="true" print_local_addr="true"/>
>                 <pbcast.STATE_TRANSFER up_thread="true" down_thread="true"/>
>             </config>
>         </attribute>
>         <!--
>         Whether or not to fetch state on joining a cluster
>        -->
>         <attribute name="FetchStateOnStartup">true</attribute>
>         <!--
>             The max amount of time (in milliseconds) we wait until the
>             initial state (ie. the contents of the cache) are retrieved from
>             existing members in a clustered environment
>         -->
>         <attribute name="InitialStateRetrievalTimeout">15000</attribute>
>         <!--
>             Number of milliseconds to wait until all responses for a
>             synchronous call have been received.
>         -->
>         <attribute name="SyncReplTimeout">10000</attribute>
>         <!-- Max number of milliseconds to wait for a lock acquisition -->
>         <attribute name="LockAcquisitionTimeout">15000</attribute>
>         <!-- Name of the eviction policy class. Not supported now. -->
>         <attribute name="EvictionPolicyClass"></attribute>
>     </mbean>
>       <!--  Uncomment to get a graphical view of the TreeCache MBean above -->
>     <mbean code="org.jboss.cache.TreeCacheView" 
> name="jboss.cache:service=TreeCacheView">
>               <depends>jboss.cache:service=TreeCache</depends>
>         <attribute 
> name="CacheService">jboss.cache:service=TreeCache</attribute>
>     </mbean>
>       <!-- 
> ==================================================================== -->
>     <!-- Defines TreeCache configuration                                      
> -->
>     <!-- ==================================================================== 
> -->
>     <mbean code="org.jboss.cache.aop.TreeCacheAop"
>         name="jboss.cache:service=TreeCacheAop">
>         <depends>jboss:service=Naming</depends>
>         <depends>jboss:service=TransactionManager</depends>
>         <!--
>         Configure the TransactionManager
>     -->
>         <attribute 
> name="TransactionManagerLookupClass">org.jboss.cache.DummyTransactionManagerLookup</attribute>
>         <!--
>             Isolation level : SERIALIZABLE
>                               REPEATABLE_READ (default)
>                               READ_COMMITTED
>                               READ_UNCOMMITTED
>                               NONE
>         -->
>         <attribute name="IsolationLevel">REPEATABLE_READ</attribute>
>         <!--
>              Valid modes are LOCAL, REPL_ASYNC and REPL_SYNC
>         -->
>         <attribute name="CacheMode">REPL_SYNC</attribute>
>         <!--
>         Just used for async repl: use a replication queue
>         -->
>         <attribute name="UseReplQueue">false</attribute>
>         <!--
>             Replication interval for replication queue (in ms)
>         -->
>         <attribute name="ReplQueueInterval">0</attribute>
>         <!--
>             Max number of elements which trigger replication
>         -->
>         <attribute name="ReplQueueMaxElements">0</attribute>
>         <!-- Name of cluster. Needs to be the same for all clusters, in order
>              to find each other
>         -->
>         <attribute name="ClusterName">TreeCache-Cluster</attribute>
>         <!-- JGroups protocol stack properties. Can also be a URL,
>              e.g. file:/home/bela/default.xml
>            <attribute name="ClusterProperties"></attribute>
>         -->
>         <attribute name="ClusterConfig">
>             <config>
>                 <!-- UDP: if you have a multihomed machine,
>                 set the bind_addr attribute to the appropriate NIC IP 
> address, e.g bind_addr="192.168.0.2"
>                 -->
>                 <!-- UDP: On Windows machines, because of the media sense 
> feature
>                  being broken with multicast (even after disabling media 
> sense)
>                  set the loopback attribute to true -->
>                 <UDP mcast_addr="228.1.2.3" mcast_port="45566"
>                     ip_ttl="64" ip_mcast="true"
>                     mcast_send_buf_size="150000" mcast_recv_buf_size="80000"
>                     ucast_send_buf_size="150000" ucast_recv_buf_size="80000"
>                     loopback="false"/>
>                 <PING timeout="2000" num_initial_members="3"
>                     up_thread="false" down_thread="false"/>
>                 <MERGE2 min_interval="10000" max_interval="20000"/>
>                 <!--        <FD shun="true" up_thread="true" 
> down_thread="true" />-->
>                 <FD_SOCK/>
>                 <VERIFY_SUSPECT timeout="1500"
>                     up_thread="false" down_thread="false"/>
>                 <pbcast.NAKACK gc_lag="50" 
> retransmit_timeout="600,1200,2400,4800"
>                     up_thread="false" down_thread="false"/>
>                 <pbcast.STABLE desired_avg_gossip="20000"
>                     up_thread="false" down_thread="false"/>
>                 <UNICAST timeout="600,1200,2400" window_size="100" 
> min_threshold="10"
>                     down_thread="false"/>
>                 <FRAG frag_size="8192"
>                     down_thread="false" up_thread="false"/>
>                 <pbcast.GMS join_timeout="5000" join_retry_timeout="2000"
>                     shun="true" print_local_addr="true"/>
>                 <pbcast.STATE_TRANSFER up_thread="true" down_thread="true"/>
>             </config>
>         </attribute>
>         <!--
>         Whether or not to fetch state on joining a cluster
>        -->
>         <attribute name="FetchStateOnStartup">true</attribute>
>         <!--
>             The max amount of time (in milliseconds) we wait until the
>             initial state (ie. the contents of the cache) are retrieved from
>             existing members in a clustered environment
>         -->
>         <attribute name="InitialStateRetrievalTimeout">15000</attribute>
>         <!--
>             Number of milliseconds to wait until all responses for a
>             synchronous call have been received.
>         -->
>         <attribute name="SyncReplTimeout">10000</attribute>
>         <!-- Max number of milliseconds to wait for a lock acquisition -->
>         <attribute name="LockAcquisitionTimeout">15000</attribute>
>         <!-- Name of the eviction policy class. Not supported now. -->
>         <attribute name="EvictionPolicyClass"></attribute>
>     </mbean>
>       <!--  Uncomment to get a graphical view of the TreeCache MBean above -->
>     <mbean code="org.jboss.cache.TreeCacheView" 
> name="jboss.cache:service=TreeCacheAopView">
>               <depends>jboss.cache:service=TreeCacheAop</depends>
>         <attribute 
> name="CacheService">jboss.cache:service=TreeCacheAop</attribute>
>     </mbean>
> </server>
> Testcase description:
> ---------------------
> The testcase is provided with :
> - a zip archive (test_cache.zip) attached to this form
> - file replSync-service.xml attached to this form
> The test_cache.zip archive contains a whole Eclipse project you can import if 
> you are using Eclipse.
> 0/ Shutdown JBoss.
> 1/ Edit the build.xml file and modify properties "jboss.dir" and 
> "jboss.server.config" (JBoss home directory and JBoss server config name).
> Note that to enable JBossCache and JBossAOP for the default config (using 
> JBoss 4.0.0 distribution), you need to copy :
> - ${JBOSS_HOME}/server/all/lib/jboss-cache.jar into 
> ${JBOSS_HOME}/server/default/lib
> - ${JBOSS_HOME}/server/all/deploy/jboss-aop.deployer into 
> ${JBOSS_HOME}/server/default/deploy
> 2/ Build the EAR file and deploy it to JBoss, run "ant deploy".
> Note also that (see build.xml file):
> - To build the cache_app.ear file (no JBoss deployment), run "ant app-ear".
> - To build the cache_ejb.jar file (no JBoss deployment), run "ant ejb-jar".
> 3/  Copy the provided replSyn-service.xml file in the JBoss deploy directory 
> (if you do not modify the provided build.xml file, copy it into 
> ${JBOSS_HOME}/server/default/deploy directory).
> 4/ Start JBoss 
> You get this on the console:
> 21:25:22 ERROR [DummyTransactionManager:[EMAIL PROTECTED] binding of 
> DummyTransactionManager failed
> javax.naming.NameAlreadyBoundException
> 5/ Run the RMI client (see below). You get the following on the console:
> 21:56:30 ERROR [RpcDispatcher:[EMAIL PROTECTED] 
> exception=java.lang.IllegalArgumentException: 
> java.lang.ClassNotFoundException: No ClassLoaders found for: 
> com.rubis.app.cache.bean.SignalProgramCache
> 21:56:31 ERROR [TestCacheAopBean:[EMAIL PROTECTED] Caught an exception class 
> org.jboss.util.NestedRuntimeException : java.lang.ClassNotFoundException: No 
> ClassLoaders found for: com.rubis.app.cache.bean.SignalProgramCache; - nested 
> throwable: (java.lang.IllegalArgumentException: 
> java.lang.ClassNotFoundException: No ClassLoaders found for: 
> com.rubis.app.cache.bean.SignalProgramCache)
> => The testcase here fails.
> 6/ Redeploy replSync-service.xml file until you get the following traces on 
> the console:
> 21:45:26 WARN  [GMS:[EMAIL PROTECTED] checkSelfInclusion() failed, 
> 192.168.0.5:1480 is not a member of view [192.168.0.5:1483|2] 
> [192.168.0.5:1483]; discarding view
> 21:45:26 WARN  [GMS:[EMAIL PROTECTED] I (192.168.0.5:1480) am being shunned, 
> will leave and rejoin group (prev_members are [192.168.0.5:1480 
> 192.168.0.5:1483 ])
> 21:45:26 INFO  [TreeCache:[EMAIL PROTECTED] viewAccepted(): new members: 
> [192.168.0.5:1483]
> 21:45:26 WARN  [CoordGmsImpl:[EMAIL PROTECTED] I am the coord and I'm being 
> am suspected -- will probably leave shortly
> 7/ Run the RMI client (see below), you get on the console:
> 21:57:11 INFO  [TestCacheAopBean:[EMAIL PROTECTED] Updating cache succesfully 
> : [EMAIL PROTECTED]
> 21:57:12 INFO  [TestCacheAopBean:[EMAIL PROTECTED] Retrieved from cache 
> succesfully : [EMAIL PROTECTED]
> => The testcase here succeeds.
> To run the RMI client:
> - if you are using Eclipse, import the provided testcache project and run 
> com.rubis.client.test.TestCacheAopClient  
>  class as a Java application,
> - if you are not using Eclipse, compile all classes inside the 
> com.rubis.client.test package (unfortunately, build.xml file does not provide 
> anything for this), with ${JBOSS_HOME}/client/jbossall-client.jar and log4j 
> jar file in your classpath, and run com.rubis.client.test.TestCacheAopClient 
> main method. 

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://jira.jboss.com/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira



-------------------------------------------------------
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt
_______________________________________________
JBoss-Development mailing list
JBoss-Development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to