Uploaded image for project: 'EJB 3.0'
  1. EJB 3.0
  2. EJBTHREE-2284

Remotely transmitted EJB context data can not be retreived

XMLWordPrintable

    • Icon: Patch Patch
    • Resolution: Duplicate
    • Icon: Major Major
    • None
    • None
    • ejb3
    • None

      The ejb3 client transmits all data in org.jboss.ejb.client.EJBClientInvocationContext.contextData
      (see org.jboss.ejb.client.remoting.AbstractMessageWriter.writeAttachments)
      The ejb remoting3 component restores this data to
      org.jboss.invocation.InterceptorContext.privateData

      ContextData is indexed by string, private data is an IdentityHashMap. This effectively makes it impossible to get any of the contextdata out of the private data map.

      I assume the context data should be restored to the context data map

      --- a/ejb3/src/main/java/org/jboss/as/ejb3/remote/protocol/versionone/MethodInvocationMessageHandler.java
      +++ b/ejb3/src/main/java/org/jboss/as/ejb3/remote/protocol/versionone/MethodInvocationMessageHandler.java
      @@ -277,7 +277,7 @@ class MethodInvocationMessageHandler extends EJBIdentifierBasedMessageHandler {
                       final String key = attachment.getKey();
                       final Object value = attachment.getValue();
                       // add it to the context
      -                interceptorContext.putPrivateData(key, value);
      +                interceptorContext.getContextData().put(key, value);
                   }
               }
      

              Unassigned Unassigned
              danamin Wouter De Borger (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: