-
Bug
-
Resolution: Unresolved
-
Major
-
None
-
4.0.44.Final
-
None
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 after the response in client side interceptors.
- is caused by
-
EJBCLIENT-424 EJB remote invocation response payload contain ContextData not part of 'jboss.returned.keys'
- Resolved
- is cloned by
-
JBEAP-23804 [GSS](7.4.z) EJBCLIENT-425 - EJB client API does not delete ContextData that has been removed on the server side
- Closed
- relates to
-
WEJBHTTP-83 WF Http EJB Client does not delete ContextData that has been removed on the server side
- Resolved
-
WFLY-16763 Remove all ContextData on client and server that is not defined using 'jboss.returned.keys'
- Open