Uploaded image for project: 'WildFly'
  1. WildFly
  2. WFLY-8553

Adding external contexts breaks resolution of non-external on demand resources

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Critical
    • Resolution: Done
    • Affects Version/s: 11.0.0.Alpha1
    • Fix Version/s: 11.0.0.Beta1
    • Component/s: Naming
    • Labels:
      None

      Description

      The logic in ContextNames.BindInfo.setupLookupInjection(...) does not correctly establish dependencies for non-external context in the presence of external contexts.
      Take the resource: java:jboss/infinispan/cache/mycontainer/mycache
      The service registered under this name is installed on-demand. When no external contexts are defined, ExternalContexts.getParentExternalContext(...) returns null and the dependency is established correctly. However, when there are external contexts whose name is lexicographically larger than the external context, the ExternalContexts.getParentExternalContext(...) returns the ServiceName of the lexicographically smallest external context, i.e. the result of NavigableSet.lower(...), where the set contains the ServiceName of all external contexts. Therefore, if a user defines an external context with name "java:global/foo", a call to ContextNames.BindInfo.setupLookupInjection(...) for the jndi name above will establish a dependency on "java:global/foo" instead of the correct service name corresponding to the non-external context.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              emmartins Eduardo Martins
              Reporter:
              pferraro Paul Ferraro
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: