-
Bug
-
Resolution: Done
-
Major
-
7.4.5.GA
-
False
-
-
False
-
-
-
-
-
-
+
An EJB client can send and receive ContextData via an Interceptor, see addReturnedContextDataKey(String key) method on the EJBClientInvocationContext class, see:
/**
* Indicates to the server that a client side interceptor is interested in the context data that is stored
* under the given key. Any object on the context data map (i.e. {@code InvocationContext.getContextData()} that is
* present at the end of the server invocation will be serialised and returned to the client.
*
* If an object is present under this key and is not serializable then the request will fail.
*
* @param key The context data key the client interceptor is interested in
*/
public void addReturnedContextDataKey(String key) {
Object returnedData = getContextData().get(RETURNED_CONTEXT_DATA_KEY);
if(returnedData == null) {
getContextData().put(RETURNED_CONTEXT_DATA_KEY, returnedData = new HashSet<>());
} else if(!(returnedData instanceof Set)) {
throw Logs.INVOCATION.returnedContextDataKeyOfWrongType();
}
Set<String> keys = (Set<String>) returnedData;
keys.add(key);
}
If a client is sending a key/value to the server and add this key with addReturnedContextDataKey(String key), a server side removed value for that key is still present on the ContextData as part of the response payload, as well as in client side interceptors.
- clones
-
WFLY-16567 EJB response contains ContextData that has been removed in the server side interceptors
-
- Closed
-
- is related to
-
JBEAP-23783 [GSS](7.4.z) EJBCLIENT-424 - EJB remote invocation response payload contain ContextData not part of 'jboss.returned.keys'
-
- Closed
-
-
JBEAP-23804 [GSS](7.4.z) EJBCLIENT-425 - EJB client API does not delete ContextData that has been removed on the server side
-
- Closed
-
-
JBEAP-23904 [GSS](7.4.z) WFLY-16796 - LocalEjbReceiver response contains ContextData that has been removed on the server side
-
- Closed
-