bug #8842
Updated by Andreas Kohlbecker about 4 years ago
CdmServiceRequestExecutor uses the field ~~~java private RemoteInvocation currentRemoteInvocation; ~~~ to remember the invocation between the step of serializing the request data and of sending the request in the method `AbstractHttpInvokerRequestExecutor.executeRequest(HttpInvokerClientConfiguration config, RemoteInvocation invocation)` This method is final and thus can not be overwritten. As workaround `currentRemoteInvocation` has apparently been introduced in `CdmServiceRequestExecutor`. This fields, however, causes this bean to be no longer stateless. Concurrent access from multiple threads can cause things to get mixed up. As consequence cdm entities terms could be stored in the wrong "session"-cache and terms the application could miss finding entities terms in the cache causing casing them to be loaded twice. **This second situation can be a root cause for MultipleRepresentationExceptions**