[jboss-jira] [JBoss JIRA] Closed: (JBAS-6040) Ensure correct TCCL is set before accessing clustered web session cache
Brian Stansberry (JIRA)
jira-events at lists.jboss.org
Thu Oct 16 19:36:21 EDT 2008
[ https://jira.jboss.org/jira/browse/JBAS-6040?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Brian Stansberry closed JBAS-6040.
----------------------------------
Resolution: Done
> Ensure correct TCCL is set before accessing clustered web session cache
> -----------------------------------------------------------------------
>
> Key: JBAS-6040
> URL: https://jira.jboss.org/jira/browse/JBAS-6040
> Project: JBoss Application Server
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: Clustering, Web (Tomcat) service
> Affects Versions: JBossAS-5.0.0.CR2
> Reporter: Brian Stansberry
> Assignee: Brian Stansberry
> Fix For: JBossAS-5.0.0.GA
>
>
> JBoss Web is accessing the session manager very early in the request cycle, before the TCCL is set. This leads to issues like the following. Initial workaround will be to set the TCCL in JBossCacheManager before accessing JBoss Cache.
> [JBoss] 10:54:25,457 ERROR [CoyoteAdapter] An exception or error occurred in the container during the request processing
> [JBoss] org.jboss.cache.CacheException: java.lang.ClassNotFoundException: org.jboss.web.tomcat.service.session.distributedcache.spi.DistributableSessionTimestamp
> [JBoss] at org.jboss.cache.interceptors.InterceptorChain.invoke(InterceptorChain.java:227)
> [JBoss] at org.jboss.cache.invocation.CacheInvocationDelegate.getData(CacheInvocationDelegate.java:500)
> [JBoss] at org.jboss.ha.cachemanager.CacheManagerManagedCache.getData(CacheManagerManagedCache.java:179)
> [JBoss] at org.jboss.web.tomcat.service.session.distributedcache.impl.jbc.JBossCacheWrapper.getData(JBossCacheWrapper.java:55)
> [JBoss] at org.jboss.web.tomcat.service.session.distributedcache.impl.jbc.JBossCacheService.loadSession(JBossCacheService.java:331)
> [JBoss] at org.jboss.web.tomcat.service.session.JBossCacheManager.loadSession(JBossCacheManager.java:1460)
> [JBoss] at org.jboss.web.tomcat.service.session.JBossCacheManager.findSession(JBossCacheManager.java:492)
> [JBoss] at org.apache.catalina.connector.Request.isRequestedSessionIdValid(Request.java:2160)
> [JBoss] at org.apache.catalina.connector.CoyoteAdapter.parseSessionCookiesId(CoyoteAdapter.java:626)
> [JBoss] at org.apache.catalina.connector.CoyoteAdapter.postParseRequest(CoyoteAdapter.java:551)
> [JBoss] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:322)
> [JBoss] at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:437)
> [JBoss] at org.apache.coyote.ajp.AjpProtocol$AjpConnectionHandler.process(AjpProtocol.java:384)
> [JBoss] at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
> [JBoss] at java.lang.Thread.run(Thread.java:619)
> [JBoss] Caused by: java.lang.ClassNotFoundException: org.jboss.web.tomcat.service.session.distributedcache.spi.DistributableSessionTimestamp
> [JBoss] at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
> [JBoss] at java.security.AccessController.doPrivileged(Native Method)
> [JBoss] at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
> [JBoss] at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
> [JBoss] at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
> [JBoss] at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
> [JBoss] at java.lang.Class.forName0(Native Method)
> [JBoss] at java.lang.Class.forName(Class.java:247)
> [JBoss] at org.jboss.util.stream.MarshalledValueInputStream.resolveClass(MarshalledValueInputStream.java:81)
> [JBoss] at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1575)
> [JBoss] at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496)
> [JBoss] at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1732)
> [JBoss] at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
> [JBoss] at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
> [JBoss] at org.jboss.cache.marshall.CacheMarshaller200.unmarshallObject(CacheMarshaller200.java:549)
> [JBoss] at org.jboss.cache.marshall.CacheMarshaller200.populateFromStream(CacheMarshaller200.java:759)
> [JBoss] at org.jboss.cache.marshall.CacheMarshaller200.unmarshallHashMap(CacheMarshaller200.java:722)
> [JBoss] at org.jboss.cache.marshall.CacheMarshaller200.unmarshallObject(CacheMarshaller200.java:580)
> [JBoss] at org.jboss.cache.marshall.CacheMarshaller200.unmarshallObject(CacheMarshaller200.java:522)
> [JBoss] at org.jboss.cache.marshall.CacheMarshaller200.objectFromObjectStream(CacheMarshaller200.java:140)
> [JBoss] at org.jboss.cache.marshall.VersionAwareMarshaller.objectFromObjectStream(VersionAwareMarshaller.java:326)
> [JBoss] at org.jboss.cache.loader.FileCacheLoader.doUnmarshall(FileCacheLoader.java:478)
> [JBoss] at org.jboss.cache.loader.AbstractCacheLoader.regionAwareUnmarshall(AbstractCacheLoader.java:216)
> [JBoss] at org.jboss.cache.loader.FileCacheLoader.loadAttributes(FileCacheLoader.java:431)
> [JBoss] at org.jboss.cache.loader.FileCacheLoader.get(FileCacheLoader.java:201)
> [JBoss] at org.jboss.cache.interceptors.CacheLoaderInterceptor.loadData(CacheLoaderInterceptor.java:563)
> [JBoss] at org.jboss.cache.interceptors.CacheLoaderInterceptor.loadNode(CacheLoaderInterceptor.java:490)
> [JBoss] at org.jboss.cache.interceptors.CacheLoaderInterceptor.loadIfNeeded(CacheLoaderInterceptor.java:304)
> [JBoss] at org.jboss.cache.interceptors.CacheLoaderInterceptor.visitGetDataMapCommand(CacheLoaderInterceptor.java:181)
> [JBoss] at org.jboss.cache.commands.read.GetDataMapCommand.acceptVisitor(GetDataMapCommand.java:45)
> [JBoss] at org.jboss.cache.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:142)
> [JBoss] at org.jboss.cache.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:157)
> [JBoss] at org.jboss.cache.interceptors.base.PostProcessingCommandInterceptor.handleGetDataMapCommand(PostProcessingCommandInterceptor.java:213)
> [JBoss] at org.jboss.cache.interceptors.base.PostProcessingCommandInterceptor.visitGetDataMapCommand(PostProcessingCommandInterceptor.java:203)
> [JBoss] at org.jboss.cache.commands.read.GetDataMapCommand.acceptVisitor(GetDataMapCommand.java:45)
> [JBoss] at org.jboss.cache.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:142)
> [JBoss] at org.jboss.cache.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:157)
> [JBoss] at org.jboss.cache.commands.AbstractVisitor.visitGetDataMapCommand(AbstractVisitor.java:79)
> [JBoss] at org.jboss.cache.commands.read.GetDataMapCommand.acceptVisitor(GetDataMapCommand.java:45)
> [JBoss] at org.jboss.cache.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:142)
> [JBoss] at org.jboss.cache.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:157)
> [JBoss] at org.jboss.cache.commands.AbstractVisitor.visitGetDataMapCommand(AbstractVisitor.java:79)
> [JBoss] at org.jboss.cache.commands.read.GetDataMapCommand.acceptVisitor(GetDataMapCommand.java:45)
> [JBoss] at org.jboss.cache.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:142)
> [JBoss] at org.jboss.cache.interceptors.TxInterceptor.attachGtxAndPassUpChain(TxInterceptor.java:266)
> [JBoss] at org.jboss.cache.interceptors.TxInterceptor.handleDefault(TxInterceptor.java:253)
> [JBoss] at org.jboss.cache.commands.AbstractVisitor.visitGetDataMapCommand(AbstractVisitor.java:79)
> [JBoss] at org.jboss.cache.commands.read.GetDataMapCommand.acceptVisitor(GetDataMapCommand.java:45)
> [JBoss] at org.jboss.cache.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:142)
> [JBoss] at org.jboss.cache.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:157)
> [JBoss] at org.jboss.cache.commands.AbstractVisitor.visitGetDataMapCommand(AbstractVisitor.java:79)
> [JBoss] at org.jboss.cache.commands.read.GetDataMapCommand.acceptVisitor(GetDataMapCommand.java:45)
> [JBoss] at org.jboss.cache.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:142)
> [JBoss] at org.jboss.cache.interceptors.InvocationContextInterceptor.handleAll(InvocationContextInterceptor.java:155)
> [JBoss] at org.jboss.cache.interceptors.InvocationContextInterceptor.handleDefault(InvocationContextInterceptor.java:108)
> [JBoss] at org.jboss.cache.commands.AbstractVisitor.visitGetDataMapCommand(AbstractVisitor.java:79)
> [JBoss] at org.jboss.cache.commands.read.GetDataMapCommand.acceptVisitor(GetDataMapCommand.java:45)
> [JBoss] at org.jboss.cache.interceptors.InterceptorChain.invoke(InterceptorChain.java:215)
> [JBoss] ... 14 more
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list