Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Tomcat应用程序中的随机ConcurrentModificationException_Java_Apache_Tomcat_Siteminder - Fatal编程技术网

Java Tomcat应用程序中的随机ConcurrentModificationException

Java Tomcat应用程序中的随机ConcurrentModificationException,java,apache,tomcat,siteminder,Java,Apache,Tomcat,Siteminder,我们在Tomcat7.0.54中部署了一个java应用程序。tomcat前面有一个Apache 2.4.10,其中SiteMinder模块作为反向代理。Tomcat在Sun jdk 1.8.0-45-64位下运行 当请求应用程序的随机资源(图标、js脚本或css)失败时,会出现一个浮动错误 java.util.ConcurrentModificationException java.util.PriorityQueue$Itr.next(PriorityQueue.java:535)

我们在Tomcat7.0.54中部署了一个java应用程序。tomcat前面有一个Apache 2.4.10,其中SiteMinder模块作为反向代理。Tomcat在Sun jdk 1.8.0-45-64位下运行

当请求应用程序的随机资源(图标、js脚本或css)失败时,会出现一个浮动错误

java.util.ConcurrentModificationException
    java.util.PriorityQueue$Itr.next(PriorityQueue.java:535)
    java.lang.Iterable.forEach(Iterable.java:74)
    com.our.groupid.entity.auth.User.getAllPermissionsAsListOfStrings(User.java:129)
    com.our.groupid.app.auth.SiteMinderSessionUserDetails.<init>(SiteMinderSessionUserDetails.java:17)
    com.our.groupid.app.auth.SiteMinderAuthenticationDetailsSource.buildDetails(SiteMinderAuthenticationDetailsSource.java:61)
    com.our.groupid.app.auth.SiteMinderAuthenticationDetailsSource.buildDetails(SiteMinderAuthenticationDetailsSource.java:13)
    org.springframework.security.web.authentication.preauth.AbstractPreAuthenticatedProcessingFilter.doAuthenticate(AbstractPreAuthenticatedProcessingFilter.java:178)
    org.springframework.security.web.authentication.preauth.AbstractPreAuthenticatedProcessingFilter.doFilter(AbstractPreAuthenticatedProcessingFilter.java:113)
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
    org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:64)
    org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
    org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:53)
    org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
    org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:91)
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
    org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:213)
    org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:176)
    org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
    org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:262)
更糟糕的是,它无法在独立的Tomcat中复制。我认为Apache和Tomcat之间的会话\请求有问题,但在日志中找不到任何可疑的内容


有人知道这种行为的根本原因吗?

看来我找到了
Apache使用的是
mod_proxy_http
,并且对头文件做了一些处理

切换到
mod\u proxy\u ajp
解决我的问题。所以,
ConcurrentModificationException
是唯一的症状。

你知道
ConcurrentModificationException
是什么吗?是的。当多个进程\线程修改同一部分数据时。但它看起来不像是应用程序错误。正如我之前在独立的Tomcat中提到的,所有的工作都很好。线程/进程与
ConcurrentModificationException
无关(当然,它们可能会,但您可以在单个线程中轻松实现)。在这里搜索一下,你会发现很多解释的帖子(以及很多人们分享你误解的帖子)。