[ 
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.

Reply via email to