[ 
https://issues.apache.org/jira/browse/CXF-4411?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13411214#comment-13411214
 ] 

Freeman Fang commented on CXF-4411:
-----------------------------------

Hi,

Yeah, we need 

option1.  add synchronized for these methods(add, load, destory) to avoid the 
ConcurrentModificationException.
Or 
option2. we can change variable "all" as ConcurrentHashMap and remove most the 
synchronized from methods to get a better performance, but we way lose some 
concurrent map update in this case. 

I'm going to change using option1

Freeman
                
> Maven plugin fails wsdl2java execution with concurrent modification exception
> -----------------------------------------------------------------------------
>
>                 Key: CXF-4411
>                 URL: https://issues.apache.org/jira/browse/CXF-4411
>             Project: CXF
>          Issue Type: Bug
>    Affects Versions: 2.6.1
>         Environment: Linux, IBM JVM 1.6, Builder is Atlassian Bamboo 2.7.6, 
> Maven 3.0.4
>            Reporter: Jeroen Benckhuijsen
>            Assignee: Freeman Fang
>
> We're getting a concurrent modification exception while running a parallel 
> build (-T C5) using Maven 3. Reproducability is low, so it seems to be some 
> race condition. Stack trace:
> build 06-Jul-2012 16:42:33    
> org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute 
> goal org.apache.cxf:cxf-codegen-plugin:2.6.1:wsdl2java 
> (generate-sources-task-callback) on project gps-wps-process-client-takp: 
> java.util.ConcurrentModificationException
> build 06-Jul-2012 16:42:33            at 
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:217)
> build 06-Jul-2012 16:42:33            at 
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
> build 06-Jul-2012 16:42:33            at 
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
> build 06-Jul-2012 16:42:33            at 
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
> build 06-Jul-2012 16:42:33            at 
> org.apache.maven.lifecycle.internal.LifecycleThreadedBuilder$1.call(LifecycleThreadedBuilder.java:167)
> build 06-Jul-2012 16:42:33            at 
> org.apache.maven.lifecycle.internal.LifecycleThreadedBuilder$1.call(LifecycleThreadedBuilder.java:163)
> build 06-Jul-2012 16:42:33            at 
> java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:315)
> build 06-Jul-2012 16:42:33            at 
> java.util.concurrent.FutureTask.run(FutureTask.java:150)
> build 06-Jul-2012 16:42:33            at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:453)
> build 06-Jul-2012 16:42:33            at 
> java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:315)
> build 06-Jul-2012 16:42:33            at 
> java.util.concurrent.FutureTask.run(FutureTask.java:150)
> build 06-Jul-2012 16:42:33            at 
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:898)
> build 06-Jul-2012 16:42:33            at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:920)
> build 06-Jul-2012 16:42:33            at java.lang.Thread.run(Thread.java:736)
> build 06-Jul-2012 16:42:33    Caused by: 
> org.apache.maven.plugin.MojoExecutionException: 
> java.util.ConcurrentModificationException
> build 06-Jul-2012 16:42:33            at 
> org.apache.cxf.maven_plugin.wsdl2java.WSDL2JavaMojo.generate(WSDL2JavaMojo.java:234)
> build 06-Jul-2012 16:42:33            at 
> org.apache.cxf.maven_plugin.AbstractCodegenMoho.execute(AbstractCodegenMoho.java:250)
> build 06-Jul-2012 16:42:33            at 
> org.apache.cxf.maven_plugin.wsdl2java.WSDL2JavaMojo.execute(WSDL2JavaMojo.java:308)
> build 06-Jul-2012 16:42:33            at 
> org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
> build 06-Jul-2012 16:42:33            at 
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
> build 06-Jul-2012 16:42:33            ... 13 more
> build 06-Jul-2012 16:42:33    Caused by: 
> org.apache.cxf.tools.common.ToolException: 
> java.util.ConcurrentModificationException
> build 06-Jul-2012 16:42:33            at 
> org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer.java:294)
> build 06-Jul-2012 16:42:33            at 
> org.apache.cxf.tools.common.toolspec.ToolRunner.runTool(ToolRunner.java:103)
> build 06-Jul-2012 16:42:33            at 
> org.apache.cxf.tools.wsdlto.WSDLToJava.run(WSDLToJava.java:113)
> build 06-Jul-2012 16:42:33            at 
> org.apache.cxf.tools.wsdlto.WSDLToJava.run(WSDLToJava.java:86)
> build 06-Jul-2012 16:42:33            at 
> org.apache.cxf.maven_plugin.wsdl2java.WSDL2JavaMojo.generate(WSDL2JavaMojo.java:231)
> build 06-Jul-2012 16:42:33            ... 17 more
> build 06-Jul-2012 16:42:33    Caused by: 
> java.util.ConcurrentModificationException
> build 06-Jul-2012 16:42:33            at 
> java.util.LinkedHashMap$AbstractMapIterator.checkConcurrentMod(LinkedHashMap.java:136)
> build 06-Jul-2012 16:42:33            at 
> java.util.LinkedHashMap$AbstractMapIterator.makeNext(LinkedHashMap.java:141)
> build 06-Jul-2012 16:42:33            at 
> java.util.LinkedHashMap$ValueIterator.next(LinkedHashMap.java:214)
> build 06-Jul-2012 16:42:33            at 
> org.apache.cxf.bus.extension.ExtensionManagerImpl.getBeansOfType(ExtensionManagerImpl.java:299)
> build 06-Jul-2012 16:42:33            at 
> org.apache.cxf.bus.CXFBusImpl.getExtension(CXFBusImpl.java:99)
> build 06-Jul-2012 16:42:33            at 
> org.apache.cxf.tools.common.toolspec.AbstractToolContainer.getBus(AbstractToolContainer.java:191)
> build 06-Jul-2012 16:42:33            at 
> org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.processWsdl(WSDLToJavaContainer.java:167)
> build 06-Jul-2012 16:42:33            at 
> org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer.java:139)
> build 06-Jul-2012 16:42:33            at 
> org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer.java:286)
> build 06-Jul-2012 16:42:33            ... 21 more

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to