tadayosi commented on issue #4990: URL: https://github.com/apache/camel-k/issues/4990#issuecomment-1865871468
Hi Camel K team @squakez, It's really not an issue specific to Hawtio, but you can reproduce it only with Camel K. For instance, you can use this example https://github.com/hawtio/hawtio-online-examples/blob/main/camel-k/hello.java and run it to a cluster: ```console kamel run camel-k/hello.java -t jolokia.enabled=true -t jolokia.use-ssl-client-authentication=false ``` (Here `-t jolokia.use-ssl-client-authentication=false` is added just for the ease of reproducing the issue, but it's really not essential.) Then do the following `kubectl exec` on the running integration pod: ```console kubectl exec hello-xxxxx -- curl -k https://localhost:8778/jolokia/exec/org.apache.camel:context=camel-1,name=%22route1%22,type=routes/dumpRouteAsXml\(\) | jq ``` You'll get the same error: ```json { "request": { "mbean": "org.apache.camel:context=camel-1,name=\"route1\",type=routes", "type": "exec", "operation": "dumpRouteAsXml()" }, "stacktrace": "jakarta.xml.bind.JAXBException: Error while searching for service [jakarta.xml.bind.JAXBContextFactory]\n - with linked exception:\n[java.util.ServiceConfigurationError: jakarta.xml.bind.JAXBContextFactory: org.glassfish.jaxb.runtime.v2.JAXBContextFactory not a subtype]\n\tat jakarta.xml.bind.ContextFinder$1.createException(ContextFinder.java:85)\n\tat jakarta.xml.bind.ContextFinder$1.createException(ContextFinder.java:82)\n\tat jakarta.xml.bind.ServiceLoaderUtil.firstByServiceLoader(ServiceLoaderUtil.java:46)\n\tat jakarta.xml.bind.ContextFinder.find(ContextFinder.java:319)\n\tat jakarta.xml.bind.JAXBContext.newInstance(JAXBContext.java:392)\n\tat jakarta.xml.bind.JAXBContext.newInstance(JAXBContext.java:349)\n\tat org.apache.camel.xml.jaxb.DefaultModelJAXBContextFactory.newJAXBContext(DefaultModelJAXBContextFactory.java:39)\n\tat org.apache.camel.xml.jaxb.DefaultModelJAXBContextFactory.newJAXBContext(DefaultModelJAXBContextFactory.java:29)\n\tat org.apache.camel .xml.jaxb.JaxbHelper.getJAXBContext(JaxbHelper.java:75)\n\tat org.apache.camel.xml.jaxb.JaxbModelToXMLDumper.dumpModelAsXml(JaxbModelToXMLDumper.java:73)\n\tat org.apache.camel.xml.jaxb.JaxbModelToXMLDumper.dumpModelAsXml(JaxbModelToXMLDumper.java:157)\n\tat org.apache.camel.management.mbean.ManagedRoute.dumpRouteAsXml(ManagedRoute.java:394)\n\tat org.apache.camel.management.mbean.ManagedRoute.dumpRouteAsXml(ManagedRoute.java:386)\n\tat java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\n\tat java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)\n\tat java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n\tat java.base/java.lang.reflect.Method.invoke(Method.java:568)\n\tat sun.reflect.misc.Trampoline.invoke(MethodUtil.java:72)\n\tat jdk.internal.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)\n\tat java.base/jdk.internal.reflect.DelegatingMethodAccessorI mpl.invoke(DelegatingMethodAccessorImpl.java:43)\n\tat java.base/java.lang.reflect.Method.invoke(Method.java:568)\n\tat java.base/sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:262)\n\tat java.management/javax.management.modelmbean.RequiredModelMBean$4.run(RequiredModelMBean.java:1178)\n\tat java.base/java.security.AccessController.doPrivileged(AccessController.java:399)\n\tat java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)\n\tat java.management/javax.management.modelmbean.RequiredModelMBean.invokeMethod(RequiredModelMBean.java:1172)\n\tat java.management/javax.management.modelmbean.RequiredModelMBean.invoke(RequiredModelMBean.java:1016)\n\tat org.apache.camel.support.management.MixinRequiredModelMBean.invoke(MixinRequiredModelMBean.java:72)\n\tat java.management/com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:814)\n\tat java.management/com.sun.jmx.mbeanserver.JmxMBe anServer.invoke(JmxMBeanServer.java:802)\n\tat org.jolokia.handler.ExecHandler.doHandleRequest(ExecHandler.java:98)\n\tat org.jolokia.handler.ExecHandler.doHandleRequest(ExecHandler.java:40)\n\tat org.jolokia.handler.JsonRequestHandler.handleRequest(JsonRequestHandler.java:89)\n\tat org.jolokia.backend.MBeanServerExecutorLocal.handleRequest(MBeanServerExecutorLocal.java:109)\n\tat org.jolokia.backend.MBeanServerHandler.dispatchRequest(MBeanServerHandler.java:161)\n\tat org.jolokia.backend.LocalRequestDispatcher.dispatchRequest(LocalRequestDispatcher.java:99)\n\tat org.jolokia.backend.BackendManager.callRequestDispatcher(BackendManager.java:429)\n\tat org.jolokia.backend.BackendManager.handleRequest(BackendManager.java:158)\n\tat org.jolokia.http.HttpRequestHandler.executeRequest(HttpRequestHandler.java:197)\n\tat org.jolokia.http.HttpRequestHandler.handleGetRequest(HttpRequestHandler.java:86)\n\tat org.jolokia.jvmagent.handler.JolokiaHttpHandler.executeGetRequest(JolokiaHttpHandler. java:278)\n\tat org.jolokia.jvmagent.handler.JolokiaHttpHandler.doHandle(JolokiaHttpHandler.java:235)\n\tat org.jolokia.jvmagent.handler.JolokiaHttpHandler.handle(JolokiaHttpHandler.java:180)\n\tat jdk.httpserver/com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:95)\n\tat jdk.httpserver/sun.net.httpserver.AuthFilter.doFilter(AuthFilter.java:82)\n\tat jdk.httpserver/com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:98)\n\tat jdk.httpserver/sun.net.httpserver.ServerImpl$Exchange$LinkHandler.handle(ServerImpl.java:851)\n\tat jdk.httpserver/com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:95)\n\tat jdk.httpserver/sun.net.httpserver.ServerImpl$Exchange.run(ServerImpl.java:816)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)\n\tat java.base/java.lang.Thread.run(Thread.java:840)\nCaused by: java.util.ServiceConfigurationError: jakarta.xml.bind.JAXBContextFactory: org.glassfish.jaxb.runtime.v2.JAXBContextFactory not a subtype\n\tat java.base/java.util.ServiceLoader.fail(ServiceLoader.java:593)\n\tat java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNextService(ServiceLoader.java:1244)\n\tat java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNext(ServiceLoader.java:1273)\n\tat java.base/java.util.ServiceLoader$2.hasNext(ServiceLoader.java:1309)\n\tat java.base/java.util.ServiceLoader$3.hasNext(ServiceLoader.java:1393)\n\tat jakarta.xml.bind.ServiceLoaderUtil.firstByServiceLoader(ServiceLoaderUtil.java:39)\n\t... 49 more\n", "error_type": "jakarta.xml.bind.JAXBException", "error": "jakarta.xml.bind.JAXBException : Error while searching for service [jakarta.xml.bind.JAXBContextFactory]", "status": 500 } ``` So, as you can see, the root issue is that the MBean operation `dumpRouteAsXml()` doesn't somehow work on a cluster while it does locally. It must be related to be the way the container image is built with Camel K. Could anyone of you look at the issue from Camel K side? -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@camel.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org