JMX Per Operation ResponseTime not collected for JAX-RS services
----------------------------------------------------------------

                 Key: CXF-2541
                 URL: https://issues.apache.org/jira/browse/CXF-2541
             Project: CXF
          Issue Type: Bug
          Components: JAX-RS
    Affects Versions: 2.2.3
            Reporter: Cyrille Le Clerc


The JMX ResponseTimeFeature does not work on a per operation basis for JAXRS 
calls but works on a per Service basis.

My understanding is that it works on a per service basis because both 
o.a.c.jaxrs.JAXRSServiceImpl and o.a.c.service.ServiceImpl implement the same 
o.a.c.service.Service interface and are indexed in the Exchange map at the 
o.a.c.service.Service entry.

On the other hand, it does not work on the per operation basis because 
o.a.c.jaxrs.model.OperationResourceInfo and o.a.c.service.model.OperationInfo 
do not implement a shared interface. Thus, the ResponseTimeFeature is specific 
to SOAP operations and can not handle JAXRS 'operations'.

A fix could be to introduce a shared Operation interface, to make both 
OperationResourceInfo and OperationInfo implement this interface and to us the 
interface as the key for the Exchange map instead of the current 
OperationResourceInfo.class and OperationInfo.class.
There are 30 "put()" & "get()" calls on OperationInfo.class. and 8 "put()" & 
"get()" calls on OperationResourceInfo.class.

I would be very pleased to propose a patch if the project is interested.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to