[
https://jira.jboss.org/jira/browse/JBAS-6040?page=com.atlassian.jira.plug...
]
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