2017-12-07 1 views
0

Gibt es eine Möglichkeit, die Anzahl der aktiven Clientanforderungen zu finden, die derzeit auf eine GET-Methode (getProducts()) in REST zugreifen?Wie wird die Anzahl der aktiven Clientanforderungen für eine GET-Methode ermittelt?

Was ich habe, ist:

@GET 
@Path("/products")  
@Produces({ "application/xml" })  
public Response getProducts(){ 
//My business logic to retrieve products go here 

}

Nun Ausgabe ich eine GET-Anfrage vom Browser: http://localhost:8080/v1/products

Wie die Anzahl der aktiven Client-Anforderungen finden zur Zeit getProducts Zugriff() Methode zu jedem Zeitpunkt auf der Serverseite?

+0

Warum möchten Sie das tun? Wenn Sie Analysen benötigen, verwenden Sie besser ein dediziertes Analyseprodukt wie Google Analytics, anstatt Ihre Methodenlogik zu belasten. –

Antwort

2

ein Tipp:

  • einen Servlet Listener schreiben (implementierende ServletRequestListener), dass Erhöhungen und Verringerungen, wenn die Anforderung initialisiert und zerstört
  • Setzen Sie die Logik direkt in getProducts des Zählens() -Methode
  • erstellen ein AOP Rat, hüllt getProducts() um und Inkremente/Dekremente, wenn das Verfahren eingegeben und beendet

Es sind bereits geschriebene, die die Leistung messen können (und die Anfrage zählt). Einer von ihnen: JETM.

+0

Einen AOP-Ratschlag zu schreiben ist zuviel dafür, besonders wenn er Spring nicht schon benutzt. Die anderen beiden sind in Ordnung. –

+0

Wer spricht über den Frühling? :) Frühling ist nicht das einzige Werkzeug, das AOP machen kann. Und auch .. JAX RS und Spring schließen sich nicht unbedingt gegenseitig aus (z.B. CXF integriert mit Spring). –

+0

@StanislavBashkyrtsev: Versuchen Sie Ihren Vorschlag der Servlet-Listener-Implementierung. – rookie

Verwandte Themen