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

Reply via email to