[ https://issues.apache.org/jira/browse/CXF-2541?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12791290#action_12791290 ]
Cyrille Le Clerc commented on CXF-2541: --------------------------------------- Hi Sergey, JAX-RS end point per operation monitoring works as expected with your patch. However, there is a problem for JAX-RS cleints (NPE because Service attribute is missing) ; I am working on it. {quote} 2009/12/16 10:35:19,028 WARN [http-8080-1] org.apache.cxf.phase.PhaseInterceptorChain - Exception in handleFault on interceptor org.apache.cxf.management.interceptor.responsetimemessageoutintercep...@1e19bba3 java.lang.NullPointerException at org.apache.cxf.management.interceptor.AbstractMessageResponseTimeInterceptor.increaseCounter(AbstractMessageResponseTimeInterceptor.java:108) at org.apache.cxf.management.interceptor.AbstractMessageResponseTimeInterceptor.endHandlingMessage(AbstractMessageResponseTimeInterceptor.java:74) at org.apache.cxf.management.interceptor.ResponseTimeMessageOutInterceptor.handleFault(ResponseTimeMessageOutInterceptor.java:62) at org.apache.cxf.phase.PhaseInterceptorChain.unwind(PhaseInterceptorChain.java:384) at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:305) at org.apache.cxf.jaxrs.client.ClientProxyImpl.doChainedInvocation(ClientProxyImpl.java:429) at org.apache.cxf.jaxrs.client.ClientProxyImpl.invoke(ClientProxyImpl.java:166) at $Proxy69.sayHello(Unknown Source) ... {quote} > 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.