[ 
https://issues.apache.org/jira/browse/AXIS2-6093?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Michael Suhr updated AXIS2-6093:
--------------------------------
    Description: 
The {{WSDL2CodeMojo/GenerateSourcesMojo}} is marked as threadSafe. But if I 
compile a multi-module project with wsdl files, targeting different packages, 
then my files are mixed-up during compilation.

My guess is the usage in {{SchemaCompiler}} because these 
{{SchemaPropertyLoader }} use static fields.
{code:java|title=org.apache.axis2.schema.SchemaCompiler#SchemaCompiler}
//load the writer and initiliaze the base types
        writer = SchemaPropertyLoader.getBeanWriterInstance();
        writer.init(this.options);
{code}

I try to create a small sample to reproduce it easily or add a test to project

Simple Project can be found here: 
https://github.com/MCMicS/axis2-wsdl-sample/tree/multi-module

1. To test it set in Debugger in {{SchemaCompiler} at line 186 a breakpoint.
2.  Execute:
{code:sh}
>mvnDebug -T4 clean test
{code}
and wait until first thread reach.
3. Switch thread to second one and keep running
4. Then module2 packages are created in module1 as well (see [^After 
Generation.png])

  was:
The {{WSDL2CodeMojo/GenerateSourcesMojo}} is marked as threadSafe. But if I 
compile a multi-module project with wsdl files, targeting different packages, 
then my files are mixed-up during compilation.

My guess is the usage in {{SchemaCompiler}} because these 
{{SchemaPropertyLoader }} use static fields.
{code:java|title=org.apache.axis2.schema.SchemaCompiler#SchemaCompiler}
//load the writer and initiliaze the base types
        writer = SchemaPropertyLoader.getBeanWriterInstance();
        writer.init(this.options);
{code}

I try to create a small sample to reproduce it easily or add a test to project

Simple Project can be found here: 
https://github.com/MCMicS/axis2-wsdl-sample/tree/multi-module

1. To test it set in Debugger in {{SchemaCompiler} at line 186 a breakpoint.
2.  Execute:
{code:sh}
>mvnDebug -T4 test
{code}
and wait until first thread reach.
3. Switch thread to second one and keep running
4. Then module2 packages are created in module1 as well (see [^After 
Generation.png])


> wsdl2code Maven Plugin: ADB Generation is not thread safe
> ---------------------------------------------------------
>
>                 Key: AXIS2-6093
>                 URL: https://issues.apache.org/jira/browse/AXIS2-6093
>             Project: Axis2
>          Issue Type: Improvement
>          Components: adb, Tools
>            Reporter: Michael Suhr
>            Priority: Major
>         Attachments: After Generation.png
>
>
> The {{WSDL2CodeMojo/GenerateSourcesMojo}} is marked as threadSafe. But if I 
> compile a multi-module project with wsdl files, targeting different packages, 
> then my files are mixed-up during compilation.
> My guess is the usage in {{SchemaCompiler}} because these 
> {{SchemaPropertyLoader }} use static fields.
> {code:java|title=org.apache.axis2.schema.SchemaCompiler#SchemaCompiler}
> //load the writer and initiliaze the base types
>         writer = SchemaPropertyLoader.getBeanWriterInstance();
>         writer.init(this.options);
> {code}
> I try to create a small sample to reproduce it easily or add a test to project
> Simple Project can be found here: 
> https://github.com/MCMicS/axis2-wsdl-sample/tree/multi-module
> 1. To test it set in Debugger in {{SchemaCompiler} at line 186 a breakpoint.
> 2.  Execute:
> {code:sh}
> >mvnDebug -T4 clean test
> {code}
> and wait until first thread reach.
> 3. Switch thread to second one and keep running
> 4. Then module2 packages are created in module1 as well (see [^After 
> Generation.png])



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscr...@axis.apache.org
For additional commands, e-mail: java-dev-h...@axis.apache.org

Reply via email to