[
https://issues.apache.org/jira/browse/CXF-2541?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12791290#action_12791290
]
Cyrille Le Clerc edited comment on CXF-2541 at 12/16/09 9:42 AM:
-----------------------------------------------------------------
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.
{noformat}
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)
...
{noformat}
was (Author: cleclerc):
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.