Question:
I am using response cache in conditional flow to cache data from a backend resource, reducing the number of requests to the resource.
I have 4 conditional flow and added in both request & response step as below.
<?xml version="1.0" encoding="UTF-8"?> <Flow name="1"> <Description /> <Request> <Step> <Name>Response-Cache-1</Name> </Step> </Request> <Response> <Step> <Name>Response-Cache-1</Name> </Step> </Response> <Condition>(proxy.pathsuffix MatchesPath "/1")</Condition> </Flow>
<?xml version="1.0" encoding="UTF-8"?> <Flow name="2"> <Description /> <Request> <Step> <Name>Response-Cache-1</Name> </Step> </Request> <Response> <Step> <Name>Response-Cache-1</Name> </Step> </Response> <Condition>(proxy.pathsuffix MatchesPath "/2")</Condition> </Flow>
<?xml version="1.0" encoding="UTF-8"?> <Flow name="3"> <Description /> <Request> <Step> <Name>Response-Cache-1</Name> </Step> </Request> <Response> <Step> <Name>Response-Cache-1</Name> </Step> </Response> <Condition>(proxy.pathsuffix MatchesPath "/3")</Condition> </Flow>
<?xml version="1.0" encoding="UTF-8"?> <Flow name="4"> <Description /> <Request> <Step> <Name>Response-Cache-1</Name> </Step> </Request> <Response> <Step> <Name>Response-Cache-1</Name> </Step> </Response> <Condition>(proxy.pathsuffix MatchesPath "/4")</Condition> </Flow>
==
<?xml version="1.0" encoding="UTF-8"?> <ResponseCache async="false" continueOnError="false" enabled="true" name="Response-Cache-1"> <DisplayName>Response-Cache-1</DisplayName> <FaultRules /> <Properties /> <CacheKey> <Prefix /> <KeyFragment ref="request.uri" type="string" /> </CacheKey> <Scope>Exclusive</Scope> <ExpirySettings> <ExpiryDate /> <TimeOfDay /> <TimeoutInSec ref="">300</TimeoutInSec> </ExpirySettings> <SkipCacheLookup /> <SkipCachePopulation /> </ResponseCache>
==
What I was expecting:
##################
Cache the data from backend resource for each conditional flow & respond from cache( for subsequent requests).
What I am facing:
###############
See below error.
Response cache step definition Response-Cache-1 can not be attached more than once in the response path
We are using on-prem 4.15.04.
Tried few options to apply the policy in proxy pre/ & target post flow but see same error.
Let me know your suggestions if any one used response cache with conditional flows?
-Vinay