Capture JAXB Timings for JAX-WS Webservices



Background: I have an enterprise application with hundreds of JAXB classes. These classes are used in serving 50+ JAX-WS web-services. While troubleshooting performance (source: dynatrace), we realized that lot of time is being spent on the server runtime (container) before request reaches to model objects. I added Servlet filters to capture overall time spent to service the request but I am trying to capture the time spent by JAX-WS to marshal/unmarshal SOAP requests.


I have tried using :



  1. JAXB Marshal/Unmarshal listeners using the help from this link Reference 1


My problem with this approach is: All of these examples have their own JAXBContext.. but in my case every server container created its own JAXBContext and I couldn't find way to inject my listeners into app server's JAXBcontext..


-- Can you please help me with this ?



  1. SOAP Handlers as described on this link: Reference 1


Problem with this approach: How do I find out if timings include JAXB marshaling ? Also, how to separate the these timings from what SOAP handlers would capture ? Which one gets executed first by the app server ? SOAP handler or JAXB marshaling ?


No comments:

Post a Comment