diff --git a/backend/pom.xml b/backend/pom.xml
index fe699f2..fd3f4e5 100644
--- a/backend/pom.xml
+++ b/backend/pom.xml
@@ -114,7 +114,7 @@
io.jaegertracing
jaeger-client
- 0.32.0
+ 1.5.0
diff --git a/backend/src/main/java/com/redhat/examples/backend/BackendHttpServlet.java b/backend/src/main/java/com/redhat/examples/backend/BackendHttpServlet.java
index d37f4fa..8fab3d8 100644
--- a/backend/src/main/java/com/redhat/examples/backend/BackendHttpServlet.java
+++ b/backend/src/main/java/com/redhat/examples/backend/BackendHttpServlet.java
@@ -42,12 +42,13 @@
@WebServlet(urlPatterns = {"/api/backend"})
public class BackendHttpServlet extends HttpServlet {
+ private static final long serialVersionUID = 4006299593098166183L;
+
private Tracer tracer = TracerResolver.resolveTracer();
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
-
//Place the HTTP headers in a Hashmap
final HashMap headers = new HashMap();
Enumeration headerNames = req.getHeaderNames();
@@ -56,33 +57,36 @@ protected void doGet(HttpServletRequest req, HttpServletResponse resp)
String value = req.getHeader(name);
headers.put(name, value);
}
+
//Extract the Parent Span from the headers
SpanContext parentSpan = tracer
.extract(Format.Builtin.HTTP_HEADERS,
- new TextMapExtractAdapter(headers));
+ new TextMapAdapter(headers));
//Start a new Span as a Child of the Parent Span
- Scope scope = tracer
+ Span span = tracer
.buildSpan("backend-servlet")
.asChildOf(parentSpan)
- .startActive(true);
-
- resp.setContentType("application/json");
+ .start();
- ObjectMapper mapper = new ObjectMapper();
- String greeting = req.getParameter("greeting");
+ try (Scope scope = tracer.scopeManager().activate(span)) {
+ resp.setContentType("application/json");
- ResponseDTO response = new ResponseDTO();
- response.setGreeting(greeting +
- " from cluster Backend");
- response.setTime(System.currentTimeMillis());
- response.setIp(getIp());
-
- PrintWriter out = resp.getWriter();
- mapper.writerWithDefaultPrettyPrinter()
- .writeValue(out, response);
-
- scope.span().finish();
+ ObjectMapper mapper = new ObjectMapper();
+ String greeting = req.getParameter("greeting");
+
+ ResponseDTO response = new ResponseDTO();
+ response.setGreeting(greeting +
+ " from cluster Backend");
+ response.setTime(System.currentTimeMillis());
+ response.setIp(getIp());
+
+ PrintWriter out = resp.getWriter();
+ mapper.writerWithDefaultPrettyPrinter()
+ .writeValue(out, response);
+ } finally {
+ span.finish();
+ }
}
private String getIp() {