[ 
https://issues.apache.org/jira/browse/CXF-2541?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12791298#action_12791298
 ] 

Sergey Beryozkin commented on CXF-2541:
---------------------------------------

Hi Cyrille

thanks for the confirmation.
Perhaps AbstractMessageResponseTimeInterceptor can be updated to get Service 
out of Endpoint, endpoint.getService() ?

Or may be it would make sense to update AbstractClient.prepareMessage with 
something like

exchange.setContent(Service.class, 
cfg.getConduitSelector().getEndpoint().getService()) ?

Actually, ClientProxyImpl.doChainedInvocation should probably be updated to 
have 

"org.apache.cxf.management.operation.name" set on the exchange as well, so that 
proxy-based clients can also have 
the operations checked...

thanks, Sergey

> 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