Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Question about URI Variables and the HttpRequestExecutingMessageHandler [INT-4404] #8347

Closed
spring-operator opened this issue Feb 16, 2018 · 2 comments
Assignees
Labels
in: http status: invalid Not reproducable or not relevant to the current state of the project

Comments

@spring-operator
Copy link
Contributor

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

@spring-operator
Copy link
Contributor Author

Gary Russell commented

You are using the framework incorrectly.

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.

Refer to the documentation.

@spring-operator
Copy link
Contributor Author

Artem Bilan commented

We handle questions via StackOverflow, spring-integration tag.

There is nothing to do with this JIRA. Gary has pointed already to the Documentation to follow.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
in: http status: invalid Not reproducable or not relevant to the current state of the project
Projects
None yet
Development

No branches or pull requests

2 participants