[ https://issues.apache.org/jira/browse/CXF-4154?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13236944#comment-13236944 ]
Daniel Kulp commented on CXF-4154: ---------------------------------- There is a threading problem with the proposal that I definitely need to think more about. If two threads are making requests, one of which changes the protocol, it can close the conduit used by the other thread prematurely. > AbstractConduitSelector reused cached conduit even if protocol was changed > -------------------------------------------------------------------------- > > Key: CXF-4154 > URL: https://issues.apache.org/jira/browse/CXF-4154 > Project: CXF > Issue Type: Bug > Components: Core > Reporter: Andrei Shakirin > Attachments: AbstractConduitSelector.patch > > > Hi, > Actually AbstractConduitSelector.getSelectedConduit() creates and caches > conduit in selectedConduit variable. Cached conduit is reused by the next > calls. > I see the following problem: if user changed protocol in URI between calls, > AbstractConduitSelector still uses cached Conduit even it cannot process new > URL. In my case cached HTTP consuit tries to process UDP URL. > Proposal for fix: check if protocol in URL was changed and if yes, close and > reset selectedConduit. > Patch is attached. > Regards, > Andrei. -- 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