I'm trying to run my java project with Jolokia jvm agent on docker. When I run docker image jolokia is starting on 8778 port but When I send some http requests like http://127.0.0.1:8778/jolokia/, I'm facing this error:
> Exception in thread "jolokia-0" java.lang.NoSuchMethodError:
> org.jolokia.http.HttpRequestHandler.handleThrowable(Ljava/lang/Throwable;)Lorg/jolokia/shaded/org/json/simple/JSONObject;
> at org.jolokia.jvmagent.handler.JolokiaHttpHandler.doHandle(JolokiaHttpHandler.java:245)
> at org.jolokia.jvmagent.handler.JolokiaHttpHandler.handle(JolokiaHttpHandler.java:180)
> at jdk.httpserver/com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:77)
> at jdk.httpserver/sun.net.httpserver.AuthFilter.doFilter(AuthFilter.java:82)
> at jdk.httpserver/com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:80)
> at jdk.httpserver/sun.net.httpserver.ServerImpl$Exchange$LinkHandler.handle(ServerImpl.java:692)
> at jdk.httpserver/com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:77)
> at jdk.httpserver/sun.net.httpserver.ServerImpl$Exchange.run(ServerImpl.java:664)
Steps I did:
- added jolokia jvm dependency to pom
<dependency>
<groupId>org.jolokia</groupId>
<artifactId>jolokia-jvm</artifactId>
<version>${jolokia.version}</version>
</dependency>
- added java tool option like that:
-javaagent:/opt/rcs/lib/jolokia-jvm-1.7.1.jar=port=8778,host=0.0.0.0
- exposed port for jolokia in docker-compose.yml file
...
ports:
- ...
- "8778:8778"
- And I built and run services with docker-compose.sh file.
I saw that jolokia started with 8778 port.
But I when I send some http requests(http://127.0.0.1:8778/jolokia/), it doesn’t response and application throwing error I mentioned above.