[
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 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 and
wait until first thread reach.
2. Switch thread to second one and keep running
3. 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 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: [email protected]
For additional commands, e-mail: [email protected]