[ https://issues.apache.org/jira/browse/AXIS-2540?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andreas Veithen updated AXIS-2540:
----------------------------------
Labels: thread-safety (was: )
> Multiple threads can modify targetURL in HTTPSender
> ---------------------------------------------------
>
> Key: AXIS-2540
> URL: https://issues.apache.org/jira/browse/AXIS-2540
> Project: Axis
> Issue Type: Bug
> Components: Basic Architecture
> Affects Versions: 1.4
> Environment: all platforms
> Reporter: Muruga Chinnananchi
> Priority: Critical
> Labels: thread-safety
> Attachments: ASF.LICENSE.NOT.GRANTED--HTTPSender.java
>
>
> the targetURL in HTTPSender is shared by multiple threads, in a highly concurrent and
multi-threaded environment, and multiple threads modifies the targetURL and the messages endup
going to wrong endpoint.
> Our customers experienced this problem in production environment and we created a simple
test case to reproduce this, just place Thread.sleep(1000) right before calling writeToSocket
( ) and try to send messages from multiple threads to different endpoints. you would notice
the messages going to wrong endpoints.
> Fix: Remove the targetURL instance variable in HTTPSender.java and make it local to the
public void invoke(MessageContext msgContext) throws AxisFault method. I am attaching the
fixed HTTPSender.java. I fixed it on top of 1.4 release source. I thought it would benefit
others who uses wsif-axis in multi-threaded environment.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org
|