2013-06-03 208 views
0

您好,我用我的項目下面的 '所有' 配置在集羣環境中使用JBoss緩存hibernate的二級緩存

  1. JBoss服務器(4.3 EAP)
  2. 春季3.0
  3. 冬眠3.0
  4. jboss緩存1.x

片段applicationContext.xml啓用二級緩存

片斷的
<property name="hibernateProperties"> 
    <props> 
     <prop key="hibernate.dialect">org.hibernate.dialect.OracleDialect</prop> 
     <prop key="hibernate.show_sql">true</prop> 
     <prop key="hibernate.cache.use_second_level_cache">true</prop> 
     <prop key="hibernate.generate_statistics">true</prop> 
     <prop key="hibernate.cache.provider_class"> 
      org.hibernate.cache.TreeCacheProvider 
     </prop> 
    </props> 
    </property> 

applicationContext.xml的用於事務管理器

內容的
<bean id="transactionManager" 
    class="org.springframework.transaction.jta.JtaTransactionManager"> 
    <property name="transactionManagerName" value="java:/TransactionManager" /> 
    <property name="userTransactionName" value="UserTransaction" /> 
    <property name="allowCustomIsolationLevels"> 
     <value>true</value> 
    </property> 
</bean> 

treecache.xml是

<server> 
    <classpath codebase="./lib" archives="jboss-cache.jar, jgroups.jar" /> 
    <mbean code="org.jboss.cache.TreeCache" name="jboss.cache:service=MyTreeCache"> 
     <depends>jboss:service=Naming</depends> 
     <depends>jboss:service=TransactionManager</depends> 
     <attribute name="TransactionManagerLookupClass"> 
      org.jboss.cache.GenericTransactionManagerLookup 
     </attribute> 
     <attribute name="ClusterName">MyPartition</attribute> 
     <attribute name="NodeLockingScheme">PESSIMISTIC</attribute> 
     <attribute name="CacheMode">REPL_SYNC</attribute> 
     <attribute name="IsolationLevel">REPEATABLE_READ</attribute> 
     <attribute name="FetchInMemoryState">false</attribute> 
     <attribute name="InitialStateRetrievalTimeout">20000</attribute> 
     <attribute name="SyncReplTimeout">20000</attribute> 
     <attribute name="LockAcquisitionTimeout">15000</attribute> 
     <attribute name="ClusterConfig"> 
      <config> 
       <UDP loopback="true" /> 
       <PING timeout="2000" num_initial_members="3" up_thread="false" 
        down_thread="false" /> 
       <FD_SOCK /> 
       <pbcast.NAKACK gc_lag="50" retransmit_timeout="600,1200,2400,4800" 
        max_xmit_size="8192" up_thread="false" down_thread="false" /> 
       <UNICAST timeout="600,1200,2400" window_size="100" 
        min_threshold="10" down_thread="false" /> 
       <pbcast.STABLE desired_avg_gossip="20000" up_thread="false" 
        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> 
    </mbean> 
</server> 

,並用下面的命令

起始節點

的run.bat -c node11 -g MyPartition -u 239.255.100.100 -Djboss.service.binding.set =端口默認

則拋出以下異常

18:51:16,303 ERROR [TreeCache] Caught exception registering channel in JXM 
javax.management.InstanceAlreadyExistsException: jboss.jgroups:type=protocol,cluster=My 
tition,protocol=STATE_TRANSFER already registered. 
     at org.jboss.mx.server.registry.BasicMBeanRegistry.add(BasicMBeanRegistry.java: 
) 
     at org.jboss.mx.server.registry.BasicMBeanRegistry.registerMBean(BasicMBeanRegi 
y.java:225) 
     at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl 
va:43) 
     at java.lang.reflect.Method.invoke(Method.java:601) 
     at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java 
5) 
     at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94) 
     at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java 
3) 
     at org.jboss.mx.server.Invocation.invoke(Invocation.java:88) 
     at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOpe 
ionInterceptor.java:142) 
     at org.jboss.mx.server.Invocation.invoke(Invocation.java:88) 
     at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:26 
     at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659) 
     at org.jboss.mx.server.MBeanServerImpl$3.run(MBeanServerImpl.java:1422) 
     at java.security.AccessController.doPrivileged(Native Method) 
     at org.jboss.mx.server.MBeanServerImpl.registerMBean(MBeanServerImpl.java:1417) 
     at org.jboss.mx.server.MBeanServerImpl.registerMBean(MBeanServerImpl.java:376) 
     at org.jgroups.jmx.JmxConfigurator.registerProtocols(JmxConfigurator.java:108) 
     at org.jboss.cache.TreeCache.registerChannelInJmx(TreeCache.java:6730) 
     at org.jboss.cache.TreeCache._createService(TreeCache.java:1477) 
     at org.jboss.cache.TreeCache.createService(TreeCache.java:1389) 
     at org.jboss.system.ServiceMBeanSupport.jbossInternalCreate(ServiceMBeanSupport 
va:260) 
     at org.jboss.system.ServiceMBeanSupport.create(ServiceMBeanSupport.java:188) 
     at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport. 
a:280) 
     at org.jboss.system.ServiceMBeanSupport.start(ServiceMBeanSupport.java:196) 
     at org.hibernate.cache.TreeCacheProvider.start(TreeCacheProvider.java:75) 
     at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:183) 
     at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1294) 
     at org.springframework.orm.hibernate3.LocalSessionFactoryBean.newSessionFactory 
calSessionFactoryBean.java:860) 
     at org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFacto 
LocalSessionFactoryBean.java:779) 
     at org.springframework.orm.hibernate3.AbstractSessionFactoryBean.afterPropertie 
t(AbstractSessionFactoryBean.java:188) 
     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory 
vokeInitMethods(AbstractAutowireCapableBeanFactory.java:1514) 
     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory 
itializeBean(AbstractAutowireCapableBeanFactory.java:1452) 
     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory 
CreateBean(AbstractAutowireCapableBeanFactory.java:519) 
     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory 
eateBean(AbstractAutowireCapableBeanFactory.java:456) 
     at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(Ab 
actBeanFactory.java:294) 
     at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSi 
eton(DefaultSingletonBeanRegistry.java:225) 
     at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(Abst 
tBeanFactory.java:291) 
     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(Abstra 
eanFactory.java:193) 
     at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAut 
reCandidates(DefaultListableBeanFactory.java:848) 
     at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResol 
ependency(DefaultListableBeanFactory.java:790) 
     at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolve 
endency(DefaultListableBeanFactory.java:707) 
     at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProc 
or$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:478) 
     at org.springframework.beans.factory.annotation.InjectionMetadata.inject(Inject 
Metadata.java:87) 
     at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProc 
or.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:284) 
     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory 
pulateBean(AbstractAutowireCapableBeanFactory.java:1106) 
     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory 
CreateBean(AbstractAutowireCapableBeanFactory.java:517) 
     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory 
eateBean(AbstractAutowireCapableBeanFactory.java:456) 
     at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(Ab 
actBeanFactory.java:294) 
     at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSi 
eton(DefaultSingletonBeanRegistry.java:225) 
     at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(Abst 
tBeanFactory.java:291) 
     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(Abstra 
eanFactory.java:193) 
     at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInst 
iateSingletons(DefaultListableBeanFactory.java:585) 
     at org.springframework.context.support.AbstractApplicationContext.finishBeanFac 
yInitialization(AbstractApplicationContext.java:913) 
     at org.springframework.context.support.AbstractApplicationContext.refresh(Abstr 
ApplicationContext.java:464) 
     at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicat 
Context(ContextLoader.java:385) 
     at org.springframework.web.context.ContextLoader.initWebApplicationContext(Cont 
Loader.java:284) 
     at org.springframework.web.context.ContextLoaderListener.contextInitialized(Con 
tLoaderListener.java:111) 
     at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java: 
4) 
     at org.apache.catalina.core.StandardContext.start(StandardContext.java:4348) 
     at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:7 

     at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:732) 
     at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:553) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl 
va:43) 
     at java.lang.reflect.Method.invoke(Method.java:601) 
     at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:297 
     at org.jboss.mx.server.RawDynamicInvoker.invoke(RawDynamicInvoker.java:164) 
     at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659) 
     at org.apache.catalina.core.StandardContext.init(StandardContext.java:5263) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl 
va:43) 
     at java.lang.reflect.Method.invoke(Method.java:601) 
     at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:297 
     at org.jboss.mx.server.RawDynamicInvoker.invoke(RawDynamicInvoker.java:164) 
     at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659) 
     at org.jboss.web.tomcat.service.TomcatDeployer.performDeployInternal(TomcatDepl 
r.java:295) 
     at org.jboss.web.tomcat.service.TomcatDeployer.performDeploy(TomcatDeployer.jav 
08) 
     at org.jboss.web.AbstractWebDeployer.start(AbstractWebDeployer.java:375) 
     at org.jboss.web.WebModule.startModule(WebModule.java:83) 
     at org.jboss.web.WebModule.startService(WebModule.java:61) 
     at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport. 
a:289) 
     at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupp 
.java:245) 
     at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl 
va:43) 
     at java.lang.reflect.Method.invoke(Method.java:601) 
     at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java 
5) 
     at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94) 
     at org.jboss.mx.server.Invocation.invoke(Invocation.java:86) 
     at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:26 
     at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659) 
     at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.jav 
78) 
     at $Proxy0.start(Unknown Source) 
     at org.jboss.system.ServiceController.start(ServiceController.java:417) 
     at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl 
va:43) 
     at java.lang.reflect.Method.invoke(Method.java:601) 
     at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java 
5) 
     at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94) 
     at org.jboss.mx.server.Invocation.invoke(Invocation.java:86) 
     at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:26 
     at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659) 
     at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210) 
     at $Proxy53.start(Unknown Source) 
     at org.jboss.web.AbstractWebContainer.start(AbstractWebContainer.java:466) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl 
va:43) 
     at java.lang.reflect.Method.invoke(Method.java:601) 
     at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java 
5) 
     at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94) 
     at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java 
3) 
     at org.jboss.mx.server.Invocation.invoke(Invocation.java:88) 
     at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOpe 
ionInterceptor.java:142) 
     at org.jboss.mx.interceptor.DynamicInterceptor.invoke(DynamicInterceptor.java:9 
     at org.jboss.system.InterceptorServiceMBeanSupport.invokeNext(InterceptorServic 
eanSupport.java:238) 
     at org.jboss.wsf.container.jboss42.DeployerInterceptor.start(DeployerIntercepto 
ava:87) 
     at org.jboss.deployment.SubDeployerInterceptorSupport$XMBeanInterceptor.start(S 
eployerInterceptorSupport.java:188) 
     at org.jboss.deployment.SubDeployerInterceptor.invoke(SubDeployerInterceptor.ja 
95) 
     at org.jboss.mx.server.Invocation.invoke(Invocation.java:88) 
     at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:26 
     at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659) 
     at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210) 
     at $Proxy54.start(Unknown Source) 
     at org.jboss.deployment.MainDeployer.start(MainDeployer.java:1025) 
     at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:819) 
     at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:782) 
     at sun.reflect.GeneratedMethodAccessor29.invoke(Unknown Source) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl 
va:43) 
     at java.lang.reflect.Method.invoke(Method.java:601) 
     at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java 
5) 
     at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94) 
     at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java 
3) 
     at org.jboss.mx.server.Invocation.invoke(Invocation.java:88) 
     at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOpe 
ionInterceptor.java:142) 
     at org.jboss.mx.server.Invocation.invoke(Invocation.java:88) 
     at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:26 
     at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659) 
     at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210) 
     at $Proxy9.deploy(Unknown Source) 
     at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanne 
ava:421) 
     at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner. 
a:634) 
     at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(
tractDeploymentScanner.java:266) 
     at org.jboss.deployment.scanner.AbstractDeploymentScanner.startService(Abstract 
loymentScanner.java:344) 
     at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport. 
a:289) 
     at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupp 
.java:245) 
     at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl 
va:43) 
     at java.lang.reflect.Method.invoke(Method.java:601) 
     at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java 
5) 
     at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94) 
     at org.jboss.mx.server.Invocation.invoke(Invocation.java:86) 
     at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:26 
     at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659) 
     at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.jav 
78) 
     at $Proxy0.start(Unknown Source) 
     at org.jboss.system.ServiceController.start(ServiceController.java:417) 
     at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl 
va:43) 
     at java.lang.reflect.Method.invoke(Method.java:601) 
     at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java 
5) 
     at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94) 
     at org.jboss.mx.server.Invocation.invoke(Invocation.java:86) 
     at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:26 
     at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659) 
     at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210) 
     at $Proxy4.start(Unknown Source) 
     at org.jboss.deployment.SARDeployer.start(SARDeployer.java:302) 
     at org.jboss.deployment.MainDeployer.start(MainDeployer.java:1025) 
     at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:819) 
     at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:782) 
     at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:766) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl 
va:43) 
     at java.lang.reflect.Method.invoke(Method.java:601) 
     at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java 
5) 
     at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94) 
     at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java 
3) 
     at org.jboss.mx.server.Invocation.invoke(Invocation.java:88) 
     at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOpe 
ionInterceptor.java:142) 
     at org.jboss.mx.server.Invocation.invoke(Invocation.java:88) 
     at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:26 
     at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659) 
     at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210) 
     at $Proxy5.deploy(Unknown Source) 
     at org.jboss.system.server.ServerImpl.doStart(ServerImpl.java:482) 
     at org.jboss.system.server.ServerImpl.start(ServerImpl.java:362) 
     at org.jboss.Main.boot(Main.java:200) 
     at org.jboss.Main$1.run(Main.java:518) 
     at java.lang.Thread.run(Thread.java:722) 
18:51:18,639 INFO [STDOUT] 

什麼我在這裏做錯了,可有人建議我。 任何幫助將不勝感激

回答

1

我相信你的問題是你有2個jgroups集羣設置(應用服務器的集羣和treecache的集羣),並且兩個集羣具有相同的分區名稱「MyPartition」。您需要爲treecache羣集配置配置不同的分區名稱。

+0

感謝您的及時答覆。我解決了我的問題。再次感謝... – sharad7188

相關問題