Skip to content

Add support for javalin 5, currently the instrumentation crashes #3908

@JonasKunz

Description

@JonasKunz

Per report in the discussion forums our instrumentation currently doesn't support javalin 5:

java.lang.IncompatibleClassChangeError: Found interface io.javalin.http.Context, but class was expected
  at co.elastic.apm.agent.javalin.JavalinInstrumentation$HandlerAdapterAdvice.setSpanAndTransactionName(JavalinInstrumentation.java:177) ~[elastic-apm-agent.jar:1.52.1]
  at xx.xxxxx.xxxxxx.xxxxxxx.xxxxx.TestFilter.handle(TestFilter.java:40) ~[test-1.0.0-SNAPSHOT.jar:?]
  at io.javalin.router.Endpoint.handle(Endpoint.kt:52) ~[javalin-6.1.3.jar:6.1.3]
  at io.javalin.router.ParsedEndpoint.handle(ParsedEndpoint.kt:15) ~[javalin-6.1.3.jar:6.1.3]

We should

  • add support for javalin 5
  • Ensure that version 3.13.8, latest 3.x, latest 4.x and overall latest (currently 5.x) still work via tests (see this as an example)
  • Add javalin to the dependabot config to ensure we don't miss future updates

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions