Thanks. I've fixed it for the next release (changing to ConcurrentHashMap)
- Scott
Wesley Wu wrote:
> Or this method sync the wrong map?
>
> private Set<Bean<?>> resolveAllBeans()
> {
> synchronized (_beanMap) {
> LinkedHashSet<Bean<?>> beans = new LinkedHashSet<Bean<?>>();
>
> for (ArrayList<TypedBean> comp : _selfBeanMap.values()) {
> for (TypedBean typedBean : comp) {
> beans.add(typedBean.getBean());
> }
> }
>
> return beans;
> }
> }
>
> maybe should synchronized (_selfBeanMap) instead.
>
> -Wesley
>
>
> 2010/11/30 Wesley Wu <[email protected]>:
>
>> 2010-11-30 02:35:13.697 ERROR [Thread-48]
>> c.b.c.j.MessageReceiverDaemon -
>> java.util.ConcurrentModificationException
>> at java.util.HashMap$HashIterator.nextEntry(HashMap.java:977)
>> at java.util.HashMap$KeyIterator.next(HashMap.java:1012)
>> at java.util.HashMap.buildCache(HashMap.java:590)
>> at java.util.HashMap.resize(HashMap.java:576)
>> at java.util.HashMap.addEntry(HashMap.java:939)
>> at java.util.HashMap.put(HashMap.java:477)
>> at
>> com.caucho.config.inject.InjectManager.addBeanByType(InjectManager.java:720)
>> at
>> com.caucho.config.inject.InjectManager.addBeanByType(InjectManager.java:697)
>> at
>> com.caucho.config.inject.InjectManager.addBeanImpl(InjectManager.java:1205)
>> at
>> com.caucho.config.inject.InjectManager.addBean(InjectManager.java:1163)
>> at
>> com.caucho.config.inject.InjectManager.addBean(InjectManager.java:1133)
>> at
>> com.caucho.config.inject.InjectManager.addDiscoveredBean(InjectManager.java:3156)
>> at
>> com.caucho.config.inject.InjectManager.discoverBeanImpl(InjectManager.java:3128)
>> at
>> com.caucho.config.inject.InjectManager.processPendingAnnotatedTypes(InjectManager.java:2868)
>> at
>> com.caucho.config.inject.InjectManager.fillByType(InjectManager.java:1540)
>> at
>> com.caucho.config.inject.InjectManager.access$200(InjectManager.java:158)
>> at
>> com.caucho.config.inject.InjectManager$FillByType.apply(InjectManager.java:3929)
>> at
>> com.caucho.loader.EnvironmentClassLoader.applyVisibleModules(EnvironmentClassLoader.java:703)
>> at
>> com.caucho.config.inject.InjectManager.getWebComponent(InjectManager.java:1505)
>> at
>> com.caucho.config.inject.InjectManager.resolveRec(InjectManager.java:1369)
>> at
>> com.caucho.config.inject.InjectManager.resolve(InjectManager.java:1360)
>> at
>> com.caucho.config.inject.InjectManager.getBeans(InjectManager.java:1308)
>> at
>> mdi.java.factory.MDIObjectFactory.buildBean(MDIObjectFactory.java:121)
>> at
>> com.buysou.cms.jms.MessageDestinationStore$DefaultMessageReceivedCallback.onReceive(MessageDestinationStore.java:168)
>> at
>> com.buysou.cms.jms.MessageReceiverDaemon.start(MessageReceiverDaemon.java:61)
>> at
>> com.buysou.cms.jms.MessageReceiverDaemon.run(MessageReceiverDaemon.java:42)
>> at java.lang.Thread.run(Thread.java:619)
>>
>>
>
>
> _______________________________________________
> resin-interest mailing list
> [email protected]
> http://maillist.caucho.com/mailman/listinfo/resin-interest
>
>
_______________________________________________
resin-interest mailing list
[email protected]
http://maillist.caucho.com/mailman/listinfo/resin-interest