Because of a legacy API what we are calling, we need to do unmarshal the received data with JAXB.
But for 2 weeks the whole process does take 2-3 times as long. Code in this area has not changed, dependencies are the same, and docker base image is the same.
In my local dev environment I have no issue. The problem is just visible on our servers in openshift.
And colleagues from the endpoint we are calling see no difference in their performance metrics.
This is basically the code:
JAXBContext jaxbContext = jaxbContexts.get(ProductsResponse.class);
Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
ProductsResponse result = unmarshaller.unmarshal(new StringReader(xmlStr));
Context is cached and createUnmarshaller should be a lightweight operation as described here JAXB creating context and marshallers cost.
But most of the time is lost in unmarshal by creating the SAXParser
...
I have no idea what caused the issue. We are currently working to replace JAXB here with Jackson XMLMapper with JAXB Annotation support. But because of some strange structures in the API, which is not in our hand, this causes more issues.
Business people are getting more and more impatient. I have no clue...