From: jkharness87 <do-...@jb...> - 2006-05-01 21:11:38
|
First, I aplogize if this is an inappropriate forum for this question. I searched the forums and felt this topic was most appropriate for this forum since it was the only one I could find specifically related to standalone tomcat integaration with JBossCache. Kindly redirect me, if this is not the correct place. I have been attempting to follow the instructions contained within this forum topic to cluster the HttpSession of a standalone tomcat instance. Specifically, I am using JBossCache 1.3.0SP1 (and the distributed libraries that come with it), Tomcat 5.5.16 on Windows XP and tomcat55-service.jar from JBoss 4.0.4 CR2. Here is a snippet from my tomcat server.xml file: | | <Cluster | className="org.jboss.web.tomcat.tc5.session.JBossCacheCluster" | cacheObjectName="jboss.cache:service=TomcatClusteringCache" | clusterName="Tomcat-Cluster" | isolationLevel="REPEATABLE_READ" | cacheMode="REPL_SYNC" | lockAcquisitionTimeout="15000" | snapshotMode="instant" | snapshotInterval="2000" | useJK="false" | defaultReplicationTrigger="SET_AND_NON_PRIMITIVE_GET" | defaultReplicationGranularity="attribute" | useLocalCache="false" | transactionManagerLookupClass="org.jboss.cache.DummyTransactionManage | rLookup" | /> | | Tomcat (misleadingly, IMO) outputs the following upon startup: | | 2006-05-01 13:33:21,225 ERROR [JBossCacheService] (main) jboss.cache:service=Tom | catClusteringCache service to Tomcat clustering not found | 2006-05-01 13:33:21,225 ERROR [ContainerBase] (main) ContainerBase.setManager: s | tart: | LifecycleException: jboss.cache:service=TomcatClusteringCache service to Tomcat | clustering not found: org.jboss.web.tomcat.tc5.session.ClusteringNotSupportedE | xception: jboss.cache:service=TomcatClusteringCache service to Tomcat clustering | not found | at org.jboss.web.tomcat.tc5.session.JBossCacheManager.startUnembedded(JB | ossCacheManager.java:1207) | at org.jboss.web.tomcat.tc5.session.JBossCacheManager.start(JBossCacheMa | nager.java:355) | at org.apache.catalina.core.ContainerBase.setManager(ContainerBase.java: | 431) | at org.apache.catalina.core.StandardContext.start(StandardContext.java:4 | 124) | at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase | .java:759) | at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:73 | 9) | at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524) | | at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:809) | | at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:698 | ) | at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:472 | ) | at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1112) | at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java | :310) | at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(Lifecycl | eSupport.java:119) | at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1021) | | at org.apache.catalina.core.StandardHost.start(StandardHost.java:718) | at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1013) | | at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442 | ) | at org.apache.catalina.core.StandardService.start(StandardService.java:4 | 50) | at org.apache.catalina.core.StandardServer.start(StandardServer.java:709 | ) | at org.apache.catalina.startup.Catalina.start(Catalina.java:551) | at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) | at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl. | java:39) | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces | sorImpl.java:25) | at java.lang.reflect.Method.invoke(Method.java:585) | at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:275) | at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413) | | Stepping through the code with the eclipse debugger (using the jpda remote debugger), reveals that the JBossCacheService constructor catches a ClassCastException. It is thrown from the following line: | | proxy_ = (TreeCacheAop) ((TreeCacheAopMBean) MBeanProxyExt.create(TreeCacheAopMBean.class, cacheServiceName_)).getInstance(); | | It looks like the code is expecting a TreeCacheAopMBean to be registered with JMX. However, if I understand things correctly, a TreeCacheMBean is registered in JMX. Thus, the getInstance() method returns an instance of TreeCache. As a result casting it to a TreeCacheAop fails. I think I have analyzed this correctly, although I could be wrong. Could someone please point me in the right direction? It appears as if this was working at one point in time. I'm extremley interested in getting this up and running so I can test it. View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3940541#3940541 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3940541 |