[ 
https://issues.apache.org/jira/browse/CXF-2541?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sergey Beryozkin updated CXF-2541:
----------------------------------

    Attachment: cxf-2541.patch

Hi Cyrille

Please see the attached patch, it shows the code I applied to the trunk/2.2.6

Can you give me a favor please and verify on your end that with this code you 
can see the counters for JAXRS operations ?

At the moment I feel this minor update is the least intrusive way to go 
forward. I'd like to get back to this issue later on and see if we can 
introduce ManagedOperation beans which frontend-specific interceptors which 
will be installed as part of frontend-specific features will populate.
Ex, it would make  sense to introduce a JAXRS feature which will add some 
additional counters, to do with subresources, with individual root resources, 
etc

thanks

> 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
>         Attachments: cxf-2541.patch, 
> usage-of-OperationInfo-and-OperationResourceInfo.log
>
>
> 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