Search results for 'ConcurrentModificationException'

Spring4 - Servlet3.0 Websocket ConcurrentModificationException 익셉션 발생 시

Spring 4 에서 지원하는 @MessageMapping 어노테이션으로 구현한 WebSocket 서버 프로그램에서 Exception in thread "clientInboundChannel-5" java.util.ConcurrentModificationException 와 같은 익셉션 발생 시.
스프링 프레임워크 버전을 확인.  4.0.5 에서 해결된 문제로 이하 버전으로 개발했다면 프레임워크 업데이트로 해결 가능.
https://jira.spring.io/browse/SPR-11755
Exception in thread "clientInboundChannel-5" java.util.ConcurrentModificationException
        at java.util.LinkedHashMap$LinkedHashIterator.nextNode(LinkedHashMap.java:711)
        at java.util.LinkedHashMap$LinkedKeyIterator.next(LinkedHashMap.java:734)
        at org.springframework.messaging.simp.broker.DefaultSubscriptionRegistry$DestinationCache.updateAfterNewSubscription(DefaultSubscriptionRegistry.java:179)
        at org.springframework.messaging.simp.broker.DefaultSubscriptionRegistry.addSubscriptionInternal(DefaultSubscriptionRegistry.java:91)
        at org.springframework.messaging.simp.broker.AbstractSubscriptionRegistry.registerSubscription(AbstractSubscriptionRegistry.java:65)
        at org.springframework.messaging.simp.broker.SimpleBrokerMessageHandler.handleMessageInternal(SimpleBrokerMessageHandler.java:126)
        at org.springframework.messaging.simp.broker.AbstractBrokerMessageHandler.handleMessage(AbstractBrokerMessageHandler.java:171)
        at org.springframework.messaging.support.ExecutorSubscribableChannel$1.run(ExecutorSubscribableChannel.java:70)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
Exception in thread "clientInboundChannel-4" java.util.ConcurrentModificationException
        at java.util.LinkedHashMap$LinkedHashIterator.nextNode(LinkedHashMap.java:711)
        at java.util.LinkedHashMap$LinkedKeyIterator.next(LinkedHashMap.java:734)
        at org.springframework.messaging.simp.broker.DefaultSubscriptionRegistry$DestinationCache.updateAfterRemovedSession(DefaultSubscriptionRegistry.java:214)
        at org.springframework.messaging.simp.broker.DefaultSubscriptionRegistry.unregisterAllSubscriptions(DefaultSubscriptionRegistry.java:112)
        at org.springframework.messaging.simp.broker.SimpleBrokerMessageHandler.handleMessageInternal(SimpleBrokerMessageHandler.java:136)
        at org.springframework.messaging.simp.broker.AbstractBrokerMessageHandler.handleMessage(AbstractBrokerMessageHandler.java:171)
        at org.springframework.messaging.support.ExecutorSubscribableChannel$1.run(ExecutorSubscribableChannel.java:70)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
2014/06/03 15:59 2014/06/03 15:59
이 글의 관련글
    이글의 태그와 관련된 글이 없습니다.
Trackback Address:이 글에는 트랙백을 보낼 수 없습니다