Uploaded image for project: 'CXF'
  1. CXF
  2. CXF-6684

A Warning is logged on every JAX-RS call

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Won't Fix
    • 2.7.17
    • None
    • JAX-RS
    • None
    • Unknown

    Description

      A Warning is logged on every JAX-RS call: " Both Object#method and Object#method are equal candidates for handling the current request which can lead to unpredictable results". This occurs even with no configuration errors (only one service with one method).

      This bug seems to be introduced by commit d58606e554418899e905cd2f3bc7e8c465eff451.

      org.apache.cxf.jaxrs.utils.JAXRSUtils#findTargetMethod uses a java.util.TreeMap with org.apache.cxf.jaxrs.model.OperationResourceInfoComparator. But java.util.TreeMap.put(K, V) calls compare(key, key) internally.

      Test.java
          @Test
          public void testWarning() throws Exception
          {
              Message m = new MessageImpl();
              Exchange e = new ExchangeImpl();
              e.setInMessage(m);
              e.put(Endpoint.class, Mockito.mock(Endpoint.class));
              OperationResourceInfo k = new OperationResourceInfo(getClass().getMethod("toString"),
                      new ClassResourceInfo(getClass()));
              k.setURITemplate(new URITemplate("template"));
      
              new TreeMap<>(new OperationResourceInfoComparator(m, "GET")).put(k, new Object());
          }
      }
      

      Attachments

        Issue Links

          Activity

            People

              sergey_beryozkin Sergey Beryozkin
              luzifer42 Luz
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: