Step 1: We create an instance of HttpRequestExecutingMessageHandler as a spring bean at the startup of the micro service and return it to the spring integration framework.
Step 2: For each request at runtime, we get the request's path variables and set them to "uriVariableExpressions" instance variable.
Step 3: In handleResponseMessage() method of HttpRequestExecutingMessageHandler, the uriVariables are determined at runtime.
Step 4: But in a multithreaded scenario, where multiple requests access the handler for processing their requests, Step 3 determines uriVariables incorrectly and leads to incorrect creation of request URIs that in turn lead to incorrect responses.
This leads to critical situation where one customer receives the info requested by other customer which is highly critical and needs immediate resolution.
Please let me know if I could provide any other information.
Affects: 4.3.14
The text was updated successfully, but these errors were encountered:
The uriVariables can be SpEL Expression s where the values are evaluated at runtime against each request message. You can't change the variables themselves at runtime.
For example, variable foo might have an expression
headers['myFooHeader']
which will populate the foo variable with the value of that message header.
Vihari S opened INT-4404 and commented
Step 1: We create an instance of HttpRequestExecutingMessageHandler as a spring bean at the startup of the micro service and return it to the spring integration framework.
Step 2: For each request at runtime, we get the request's path variables and set them to "uriVariableExpressions" instance variable.
Step 3: In handleResponseMessage() method of HttpRequestExecutingMessageHandler, the uriVariables are determined at runtime.
Step 4: But in a multithreaded scenario, where multiple requests access the handler for processing their requests, Step 3 determines uriVariables incorrectly and leads to incorrect creation of request URIs that in turn lead to incorrect responses.
This leads to critical situation where one customer receives the info requested by other customer which is highly critical and needs immediate resolution.
Please let me know if I could provide any other information.
Affects: 4.3.14
The text was updated successfully, but these errors were encountered: