7 Replies Latest reply on Feb 4, 2008 3:17 PM by brian.stansberry

    JBossTS overriding commons-logging discovery mechanism

    brian.stansberry

      Continuation of thead from JBoss Cache forum http://www.jboss.com/index.html?module=bb&op=viewtopic&t=129202 -- moving it here as it turns out issue has nothing to do with JBoss Cache.

      JBossTS is programatically setting the default implementation of the commons-logging Log interface, setting it to com.arjuna.common.internal.util.logging.jakarta.Log4JLogger

      This is causing problems, as the com.arjuna class does not properly handle TRACE level logging, treating trace messages as DEBUG. Further, the AS uses a forked version of JCL that has altered the default Log4JLogger class; presumably there are other unreconciled differences between the com.arjuna class and the forked JBoss one.

      We need to reconcile the differences between the com.arjuna class and the JBoss one, get any needed changes in the JBoss one, and find a way to get the JBossTS code to use the reconciled version.

      Here's where JCL is set to use the com.arjuna version:

      "main" prio=1 tid=0xc04279b8 nid=0x65bf at breakpoint[0xc0338000..0xc033a130]
       at org.apache.commons.logging.impl.LogFactoryImpl.setAttribute(LogFactoryImpl.java:395)
       at com.arjuna.common.internal.util.logging.jakarta.JakartaRelevelingLogFactory.setupLogger(JakartaRelevelingLogFactory.java:90)
       at com.arjuna.common.internal.util.logging.jakarta.JakartaRelevelingLogFactory.getLog(JakartaRelevelingLogFactory.java:75)
       at com.arjuna.common.util.logging.LogFactory.getLogNoi18n(LogFactory.java:191)
       at com.arjuna.ats.arjuna.logging.tsLogger.<clinit>(tsLogger.java:58)
       at com.arjuna.ats.internal.arjuna.objectstore.ShadowingStore.<init>(ShadowingStore.java:840)
       at com.arjuna.ats.internal.arjuna.objectstore.ShadowNoFileLockStore.<init>(ShadowNoFileLockStore.java:155)
       at com.arjuna.ats.internal.arjuna.objectstore.HashedStore.<init>(HashedStore.java:268)
       at com.arjuna.ats.internal.arjuna.objectstore.HashedActionStore.<init>(HashedActionStore.java:172)
       at com.arjuna.ats.internal.arjuna.objectstore.HashedActionStore.<init>(HashedActionStore.java:167)
       at com.arjuna.ats.internal.arjuna.objectstore.HashedActionStore.create(HashedActionStore.java:100)
       at com.arjuna.ats.internal.arjuna.objectstore.HashedActionStoreSetup.createVoid(HashedActionStoreSetup.java:49)
       - locked <0xc14007d8> (a com.arjuna.ats.internal.arjuna.objectstore.HashedActionStoreSetup)
       at com.arjuna.ats.internal.arjuna.gandiva.inventory.StaticInventory.createVoid(StaticInventory.java:76)
       - locked <0xc13afb28> (a com.arjuna.ats.internal.arjuna.gandiva.inventory.StaticInventory)
       at com.arjuna.ats.arjuna.gandiva.inventory.Inventory.createVoid(Inventory.java:84)
       - locked <0xc13afaf0> (a com.arjuna.ats.arjuna.gandiva.inventory.Inventory)
       at com.arjuna.ats.arjuna.objectstore.ObjectStore.<init>(ObjectStore.java:128)
       at com.arjuna.ats.arjuna.coordinator.TxControl.getStore(TxControl.java:146)
       at com.arjuna.ats.arjuna.recovery.ActionStatusService.<init>(ActionStatusService.java:71)
       at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
       at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
       at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
       at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
       at java.lang.Class.newInstance0(Class.java:350)
       at java.lang.Class.newInstance(Class.java:303)
       at com.arjuna.ats.arjuna.recovery.TransactionStatusManager.start(TransactionStatusManager.java:149)
       at com.arjuna.ats.arjuna.recovery.TransactionStatusManager.<init>(TransactionStatusManager.java:78)
       at com.arjuna.ats.arjuna.coordinator.TxControl.<clinit>(TxControl.java:355)
       at com.arjuna.ats.jbossatx.jta.TransactionManagerService.startService(TransactionManagerService.java:139)
       at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:299)
       at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:245)
       at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:585)
       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:167)
       at $Proxy5.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:327)
       at org.jboss.system.microcontainer.ServiceControllerContext.install(ServiceControllerContext.java:255)
       at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1309)
       at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:734)
       at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:862)
       at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:784)
       at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:622)
       at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:411)
       at org.jboss.system.ServiceController.doChange(ServiceController.java:659)
       at org.jboss.system.ServiceController.start(ServiceController.java:431)
       at org.jboss.system.deployers.ServiceDeployer.start(ServiceDeployer.java:150)
       at org.jboss.system.deployers.ServiceDeployer.deploy(ServiceDeployer.java:108)
       at org.jboss.system.deployers.ServiceDeployer.deploy(ServiceDeployer.java:46)
       at org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer.internalDeploy(AbstractSimpleRealDeployer.java:65)
       at org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer.deploy(AbstractRealDeployer.java:50)
       at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:169)
       at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:853)
       at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:874)
       at org.jboss.deployers.plugins.deployers.DeployersImpl.install(DeployersImpl.java:794)
       at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:327)
       at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1309)
       at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:734)
       at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:862)
       at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:784)
       at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:622)
       at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:411)
       at org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:498)
       at org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:506)
       at org.jboss.system.server.profileservice.ProfileServiceBootstrap.loadProfile(ProfileServiceBootstrap.java:216)
       at org.jboss.system.server.profileservice.ProfileServiceBootstrap.start(ProfileServiceBootstrap.java:131)
       at org.jboss.bootstrap.AbstractServerImpl.start(AbstractServerImpl.java:408)
       at org.jboss.Main.boot(Main.java:208)
       at org.jboss.Main$1.run(Main.java:534)
       at java.lang.Thread.run(Thread.java:595)