jbosscache 中遇到<binding of DummyTransactionManager failed>
来源:互联网 发布:手机音频分析软件 编辑:程序博客网 时间:2024/06/06 01:52
使用jbosseap5.1然后使用spring与jbosscache集成时加载jbosscache时CacheFactory factory = new DefaultCacheFactory(); cache = factory.createCache("cache-configuration.xml");
创建cache时报如下异常:
javax.naming.NameAlreadyBoundException: TransactionManager
at org.jnp.server.NamingServer.bind(NamingServer.java:209)
at org.jnp.interfaces.NamingContext.bind(NamingContext.java:650)
at org.jnp.interfaces.NamingContext.bind(NamingContext.java:611)
at javax.naming.InitialContext.bind(InitialContext.java:400)
at org.jboss.cache.transaction.DummyTransactionManager.getInstance(DummyTransactionManager.java:61)
at org.jboss.cache.transaction.GenericTransactionManagerLookup.getTransactionManager(GenericTransactionManagerLookup.java:117)
at org.jboss.cache.factories.TransactionManagerFactory.construct(TransactionManagerFactory.java:68)
at org.jboss.cache.factories.ComponentRegistry.getOrCreateComponent(ComponentRegistry.java:318)
at org.jboss.cache.factories.ComponentRegistry.invokeInjectionMethod(ComponentRegistry.java:279)
at org.jboss.cache.factories.ComponentRegistry$Component.injectDependencies(ComponentRegistry.java:981)
at org.jboss.cache.factories.ComponentRegistry.registerComponent(ComponentRegistry.java:255)
at org.jboss.cache.factories.ComponentRegistry.getOrCreateComponent(ComponentRegistry.java:325)
at org.jboss.cache.factories.ComponentRegistry.invokeInjectionMethod(ComponentRegistry.java:279)
at org.jboss.cache.factories.ComponentRegistry$Component.injectDependencies(ComponentRegistry.java:981)
at org.jboss.cache.factories.ComponentRegistry.registerComponent(ComponentRegistry.java:255)
at org.jboss.cache.factories.InterceptorChainFactory.createInterceptor(InterceptorChainFactory.java:60)
at org.jboss.cache.factories.InterceptorChainFactory.buildInterceptorChain(InterceptorChainFactory.java:75)
at org.jboss.cache.factories.InterceptorChainFactory.construct(InterceptorChainFactory.java:225)
at org.jboss.cache.factories.ComponentRegistry.getOrCreateComponent(ComponentRegistry.java:318)
at org.jboss.cache.factories.ComponentRegistry.invokeInjectionMethod(ComponentRegistry.java:279)
at org.jboss.cache.factories.ComponentRegistry$Component.injectDependencies(ComponentRegistry.java:981)
at org.jboss.cache.factories.ComponentRegistry.registerComponent(ComponentRegistry.java:255)
at org.jboss.cache.DefaultCacheFactory.bootstrap(DefaultCacheFactory.java:154)
at org.jboss.cache.DefaultCacheFactory.createAndWire(DefaultCacheFactory.java:140)
at org.jboss.cache.DefaultCacheFactory.createCache(DefaultCacheFactory.java:119)
at org.jboss.cache.DefaultCacheFactory.createCache(DefaultCacheFactory.java:92)
at org.jboss.cache.DefaultCacheFactory.createCache(DefaultCacheFactory.java:76)
at com.cars.ict.otsweb.common.cache.BaseDataCacheJBossCache.init(BaseDataCacheJBossCache.java:28)
at com.cars.ict.otsweb.common.listener.CacheListener.contextInitialized(CacheListener.java:60)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3910)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4389)
at org.jboss.web.tomcat.service.deployers.TomcatDeployment.performDeployInternal(TomcatDeployment.java:321)
at org.jboss.web.tomcat.service.deployers.TomcatDeployment.performDeploy(TomcatDeployment.java:145)
at org.jboss.web.deployers.AbstractWarDeployment.start(AbstractWarDeployment.java:461)
at org.jboss.web.deployers.WebModule.startModule(WebModule.java:118)
at org.jboss.web.deployers.WebModule.start(WebModule.java:97)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:157)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:96)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:668)
at org.jboss.system.microcontainer.ServiceProxy.invoke(ServiceProxy.java:206)
at $Proxy38.start(Unknown Source)
at org.jboss.system.microcontainer.StartStopLifecycleAction.installAction(StartStopLifecycleAction.java:42)
at org.jboss.system.microcontainer.StartStopLifecycleAction.installAction(StartStopLifecycleAction.java:37)
at org.jboss.dependency.plugins.action.SimpleControllerContextAction.simpleInstallAction(SimpleControllerContextAction.java:62)
at org.jboss.dependency.plugins.action.AccessControllerContextAction.install(AccessControllerContextAction.java:71)
at org.jboss.dependency.plugins.AbstractControllerContextActions.install(AbstractControllerContextActions.java:51)
at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
at org.jboss.system.microcontainer.ServiceControllerContext.install(ServiceControllerContext.java:297)
at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1652)
at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:938)
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1082)
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:988)
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:826)
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:556)
at org.jboss.system.ServiceController.doChange(ServiceController.java:688)
at org.jboss.system.ServiceController.start(ServiceController.java:460)
at org.jboss.system.deployers.ServiceDeployer.start(ServiceDeployer.java:163)
at org.jboss.system.deployers.ServiceDeployer.deploy(ServiceDeployer.java:99)
at org.jboss.system.deployers.ServiceDeployer.deploy(ServiceDeployer.java:46)
at org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer.internalDeploy(AbstractSimpleRealDeployer.java:62)
at org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer.deploy(AbstractRealDeployer.java:55)
at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:179)
at org.jboss.deployers.plugins.deployers.DeployersImpl.doDeploy(DeployersImpl.java:1454)
at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1172)
at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1193)
at org.jboss.deployers.plugins.deployers.DeployersImpl.install(DeployersImpl.java:1113)
at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1652)
at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:938)
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1082)
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:988)
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:826)
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:556)
at org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:789)
at org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:699)
at org.jboss.system.server.profileservice.repository.MainDeployerAdapter.process(MainDeployerAdapter.java:117)
at org.jboss.system.server.profileservice.repository.ProfileDeployAction.install(ProfileDeployAction.java:70)
at org.jboss.system.server.profileservice.repository.AbstractProfileAction.install(AbstractProfileAction.java:53)
at org.jboss.system.server.profileservice.repository.AbstractProfileService.install(AbstractProfileService.java:403)
at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
at org.jboss.dependency.plugins.Abstra
09:47:22,969 INFO [STDOUT] ctController.install(AbstractController.java:1652)
at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:938)
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1082)
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:988)
at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:778)
at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:543)
at org.jboss.system.server.profileservice.repository.AbstractProfileService.registerProfile(AbstractProfileService.java:308)
at org.jboss.system.server.profileservice.ProfileServiceBootstrap.start(ProfileServiceBootstrap.java:256)
at org.jboss.bootstrap.AbstractServerImpl.start(AbstractServerImpl.java:461)
at org.jboss.Main.boot(Main.java:221)
at org.jboss.Main$1.run(Main.java:556)
at java.lang.Thread.run(Thread.java:619)
at org.jnp.server.NamingServer.bind(NamingServer.java:209)
at org.jnp.interfaces.NamingContext.bind(NamingContext.java:650)
at org.jnp.interfaces.NamingContext.bind(NamingContext.java:611)
at javax.naming.InitialContext.bind(InitialContext.java:400)
at org.jboss.cache.transaction.DummyTransactionManager.getInstance(DummyTransactionManager.java:61)
at org.jboss.cache.transaction.GenericTransactionManagerLookup.getTransactionManager(GenericTransactionManagerLookup.java:117)
at org.jboss.cache.factories.TransactionManagerFactory.construct(TransactionManagerFactory.java:68)
at org.jboss.cache.factories.ComponentRegistry.getOrCreateComponent(ComponentRegistry.java:318)
at org.jboss.cache.factories.ComponentRegistry.invokeInjectionMethod(ComponentRegistry.java:279)
at org.jboss.cache.factories.ComponentRegistry$Component.injectDependencies(ComponentRegistry.java:981)
at org.jboss.cache.factories.ComponentRegistry.registerComponent(ComponentRegistry.java:255)
at org.jboss.cache.factories.ComponentRegistry.getOrCreateComponent(ComponentRegistry.java:325)
at org.jboss.cache.factories.ComponentRegistry.invokeInjectionMethod(ComponentRegistry.java:279)
at org.jboss.cache.factories.ComponentRegistry$Component.injectDependencies(ComponentRegistry.java:981)
at org.jboss.cache.factories.ComponentRegistry.registerComponent(ComponentRegistry.java:255)
at org.jboss.cache.factories.InterceptorChainFactory.createInterceptor(InterceptorChainFactory.java:60)
at org.jboss.cache.factories.InterceptorChainFactory.buildInterceptorChain(InterceptorChainFactory.java:75)
at org.jboss.cache.factories.InterceptorChainFactory.construct(InterceptorChainFactory.java:225)
at org.jboss.cache.factories.ComponentRegistry.getOrCreateComponent(ComponentRegistry.java:318)
at org.jboss.cache.factories.ComponentRegistry.invokeInjectionMethod(ComponentRegistry.java:279)
at org.jboss.cache.factories.ComponentRegistry$Component.injectDependencies(ComponentRegistry.java:981)
at org.jboss.cache.factories.ComponentRegistry.registerComponent(ComponentRegistry.java:255)
at org.jboss.cache.DefaultCacheFactory.bootstrap(DefaultCacheFactory.java:154)
at org.jboss.cache.DefaultCacheFactory.createAndWire(DefaultCacheFactory.java:140)
at org.jboss.cache.DefaultCacheFactory.createCache(DefaultCacheFactory.java:119)
at org.jboss.cache.DefaultCacheFactory.createCache(DefaultCacheFactory.java:92)
at org.jboss.cache.DefaultCacheFactory.createCache(DefaultCacheFactory.java:76)
at com.cars.ict.otsweb.common.cache.BaseDataCacheJBossCache.init(BaseDataCacheJBossCache.java:28)
at com.cars.ict.otsweb.common.listener.CacheListener.contextInitialized(CacheListener.java:60)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3910)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4389)
at org.jboss.web.tomcat.service.deployers.TomcatDeployment.performDeployInternal(TomcatDeployment.java:321)
at org.jboss.web.tomcat.service.deployers.TomcatDeployment.performDeploy(TomcatDeployment.java:145)
at org.jboss.web.deployers.AbstractWarDeployment.start(AbstractWarDeployment.java:461)
at org.jboss.web.deployers.WebModule.startModule(WebModule.java:118)
at org.jboss.web.deployers.WebModule.start(WebModule.java:97)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:157)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:96)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:668)
at org.jboss.system.microcontainer.ServiceProxy.invoke(ServiceProxy.java:206)
at $Proxy38.start(Unknown Source)
at org.jboss.system.microcontainer.StartStopLifecycleAction.installAction(StartStopLifecycleAction.java:42)
at org.jboss.system.microcontainer.StartStopLifecycleAction.installAction(StartStopLifecycleAction.java:37)
at org.jboss.dependency.plugins.action.SimpleControllerContextAction.simpleInstallAction(SimpleControllerContextAction.java:62)
at org.jboss.dependency.plugins.action.AccessControllerContextAction.install(AccessControllerContextAction.java:71)
at org.jboss.dependency.plugins.AbstractControllerContextActions.install(AbstractControllerContextActions.java:51)
at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
at org.jboss.system.microcontainer.ServiceControllerContext.install(ServiceControllerContext.java:297)
at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1652)
at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:938)
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1082)
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:988)
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:826)
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:556)
at org.jboss.system.ServiceController.doChange(ServiceController.java:688)
at org.jboss.system.ServiceController.start(ServiceController.java:460)
at org.jboss.system.deployers.ServiceDeployer.start(ServiceDeployer.java:163)
at org.jboss.system.deployers.ServiceDeployer.deploy(ServiceDeployer.java:99)
at org.jboss.system.deployers.ServiceDeployer.deploy(ServiceDeployer.java:46)
at org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer.internalDeploy(AbstractSimpleRealDeployer.java:62)
at org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer.deploy(AbstractRealDeployer.java:55)
at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:179)
at org.jboss.deployers.plugins.deployers.DeployersImpl.doDeploy(DeployersImpl.java:1454)
at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1172)
at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1193)
at org.jboss.deployers.plugins.deployers.DeployersImpl.install(DeployersImpl.java:1113)
at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1652)
at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:938)
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1082)
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:988)
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:826)
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:556)
at org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:789)
at org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:699)
at org.jboss.system.server.profileservice.repository.MainDeployerAdapter.process(MainDeployerAdapter.java:117)
at org.jboss.system.server.profileservice.repository.ProfileDeployAction.install(ProfileDeployAction.java:70)
at org.jboss.system.server.profileservice.repository.AbstractProfileAction.install(AbstractProfileAction.java:53)
at org.jboss.system.server.profileservice.repository.AbstractProfileService.install(AbstractProfileService.java:403)
at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
at org.jboss.dependency.plugins.Abstra
09:47:22,969 INFO [STDOUT] ctController.install(AbstractController.java:1652)
at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:938)
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1082)
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:988)
at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:778)
at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:543)
at org.jboss.system.server.profileservice.repository.AbstractProfileService.registerProfile(AbstractProfileService.java:308)
at org.jboss.system.server.profileservice.ProfileServiceBootstrap.start(ProfileServiceBootstrap.java:256)
at org.jboss.bootstrap.AbstractServerImpl.start(AbstractServerImpl.java:461)
at org.jboss.Main.boot(Main.java:221)
at org.jboss.Main$1.run(Main.java:556)
at java.lang.Thread.run(Thread.java:619)
这是因为我们通常是使用了JbossCache 自带的配置文件样本来进行配置的。
配置文件中默认是这样配置的:
<attribute name=”TransactionManagerLookupClass”>org.jboss.cache.transaction.GenericTransactionManagerLookup
</attribute>
而通过查看 org.jboss.cache.transaction.DummyTransactionManager.java的代码可以发现,
在创建TransactionManager的时候执行了一个Context。bind绑定操作。
代码为:
public static synchronized DummyTransactionManager getInstance()
{
if (instance == null)
{
instance = new DummyTransactionManager();
utx = new DummyUserTransaction(instance);
try
{
Properties p = new Properties();
p.put("java.naming.factory.initial", "org.jboss.cache.transaction.DummyContextFactory");
Context ctx = new InitialContext(p);
ctx.bind("java:/TransactionManager", instance);
ctx.bind("UserTransaction", utx);
}
catch (NamingException e)
{
log.error("binding of DummyTransactionManager failed", e);
}
}
return instance;
}
配置文件中默认是这样配置的:
<attribute name=”TransactionManagerLookupClass”>org.jboss.cache.transaction.GenericTransactionManagerLookup
</attribute>
而通过查看 org.jboss.cache.transaction.DummyTransactionManager.java的代码可以发现,
在创建TransactionManager的时候执行了一个Context。bind绑定操作。
代码为:
public static synchronized DummyTransactionManager getInstance()
{
if (instance == null)
{
instance = new DummyTransactionManager();
utx = new DummyUserTransaction(instance);
try
{
Properties p = new Properties();
p.put("java.naming.factory.initial", "org.jboss.cache.transaction.DummyContextFactory");
Context ctx = new InitialContext(p);
ctx.bind("java:/TransactionManager", instance);
ctx.bind("UserTransaction", utx);
}
catch (NamingException e)
{
log.error("binding of DummyTransactionManager failed", e);
}
}
return instance;
}
解决办法就是将 TransactionManagerLookupClass指定为自己实现的MyTransactionManagerLookup
MyTransactionManagerLookup。java 代码如下 :
import javax.transaction.TransactionManager;
import org.jboss.cache.transaction.BatchModeTransactionManager;
import org.jboss.cache.transaction.TransactionManagerLookup;
public class MyTransactionManagerLookup implements TransactionManagerLookup {
@Override
public TransactionManager getTransactionManager() throws Exception {
return new BatchModeTransactionManager();
}
}
修改后的配置文件为:
<!–
Configure the TransactionManager
–>
<attribute name=”TransactionManagerLookupClass”>xxx.xxx.MyTransactionManagerLookup</attribute>
MyTransactionManagerLookup。java 代码如下 :
import javax.transaction.TransactionManager;
import org.jboss.cache.transaction.BatchModeTransactionManager;
import org.jboss.cache.transaction.TransactionManagerLookup;
public class MyTransactionManagerLookup implements TransactionManagerLookup {
@Override
public TransactionManager getTransactionManager() throws Exception {
return new BatchModeTransactionManager();
}
}
修改后的配置文件为:
<!–
Configure the TransactionManager
–>
<attribute name=”TransactionManagerLookupClass”>xxx.xxx.MyTransactionManagerLookup</attribute>
jboss官方网站有相关讨论:
http://jboss.org/?module=bb&op=viewtopic&t=98997
http://jboss.org/?module=bb&op=viewtopic&t=98997
- jbosscache 中遇到<binding of DummyTransactionManager failed>
- jbosscache
- mac 编程上遇到dyld: lazy symbol binding failed: Symbol not found的解决方案
- Invocation of init method failed; nested exception is org.apache.ibatis.binding.BindingException: In
- WPF(Binding of ItemsControl)
- WPF(Binding of LinQ)
- WPF(Binding of ObjectDataProvider)
- WPF(Binding of RelativeSource)
- EThe Binding of Isaac
- JbossCache使用
- JbossCache使用
- JbossCache使用
- maven项目中,遇到org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)
- 记一次 Data Binding 在 library module 中遇到的大坑
- MFC中多线程中updatedata()遇到Debug Assertion Failed 错误
- wcf中binding用法
- 项目中遇到的问题:Manifest merger failed
- 关于vuforia中遇到的Failed looking up window异常
- javascript中的函数学习
- 脚本语言的概念
- maven2快照类自动覆盖的实现
- Python可调用对象__call__方法的用法分析
- js脚本校验身份证号码合法性
- jbosscache 中遇到<binding of DummyTransactionManager failed>
- const
- 关于myeclips的设置
- PHP与Mysql性能优化--DISCUZ技术文库
- UltraEdit 15.10增加新的语法着色
- 软件测试的三种境界
- 关于Maven的资源库定义和SNAPSHOT:加快Maven的编译部署
- 实习总结:c#开发之旅(三)多线程小结(一)
- android环境变量配置