[ http://jira.jboss.com/jira/browse/JBCACHE-34?page=history ]
fredatwork updated JBCACHE-34: ------------------------------ Attachment: build.xml Updated build.xml file that provides the "compile-client" target. > 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: build.xml, 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 (run "ant compile-client"), and then run > com.rubis.client.test.TestCacheAopClient main method with at least > ${JBOSS_HOME}/client/jbossall-client.jar and log4j jar file in your classpath. > Note that an updated build.xml file has been attached to provide the > 'compile-client' target and ease up java compilation. The build.xml file > included in the testcache.zip archive does not provide this target. -- 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