Uploaded image for project: 'EJB Client Library (AS7+)'
  1. EJB Client Library (AS7+)
  2. EJBCLIENT-228

Update performLocatedAction/discoverAffinity* to include additional information

    Details

    • Type: Enhancement
    • Status: Resolved (View Workflow)
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: None
    • Fix Version/s: 4.0.0.Beta28
    • Labels:
      None
    • Estimated Difficulty:
      Medium

      Description

      The discoverAffinity* methods need to consider and propagate certain information:

      • The locator and located action (obviously)
      • The effective weak affinity
      • The sticky authentication and SSL configurations from naming or legacy configuration

      Ideally we could pass the invocation context, but session creation does not use it.

      The discoverAffinity methods may rewrite the affinity as it processes. Because of this, it probably makes sense to break out a separate "effective strong affinity" parameter which is initialized from the locator. For example, if a cluster affinity is being processed and there is a weak node or URI affinity, then the next stage can be performed directly using the weak affinity as the new effective strong affinity.

      The discover* method for URI affinity does not need a weak affinity parameter because it can never use or propagate weak affinity for any purpose.

      The discover methods may use the legacy configuration information from the client context in order to establish or override authentication configuration.

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  dmlloyd David Lloyd
                  Reporter:
                  dmlloyd David Lloyd
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  1 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: