iris ding created CXF-6369:
------------------------------

             Summary: org.apache.cxf.jaxrs.impl.ConfigurationImpl does not 
comply with SPEC
                 Key: CXF-6369
                 URL: https://issues.apache.org/jira/browse/CXF-6369
             Project: CXF
          Issue Type: Bug
          Components: JAX-RS
    Affects Versions: 2.7.15, 3.0.4, 3.0.3
            Reporter: iris ding


According to 
http://docs.oracle.com/javaee/7/api/javax/ws/rs/core/Configurable.html

As a general rule, for each JAX-RS component class there can be at most one 
registration — class-based or instance-based — configured at any given moment. 
Implementations MUST reject any attempts to configure a new registration for a 
provider class that has been already registered in the given configurable 
context earlier. Implementations SHOULD also raise a warning to inform the user 
about the rejected component registration.

For example:

 config.register(GzipInterceptor.class, WriterInterceptor.class);
 config.register(GzipInterceptor.class);       // Rejected by runtime.
 config.register(new GzipInterceptor());       // Rejected by runtime.
 config.register(GzipInterceptor.class, 6500); // Rejected by runtime.

So we need to check whether the same class's instances have already been put 
into config before hand.

Also to check whether the class/instance has been registered via  public 
boolean isRegistered(Class<?> cls) , we need to check whether the two class is 
the same other than just isAssignableFrom.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to