Uploaded image for project: 'Camel'
  1. Camel
  2. CAMEL-11842

ClassNotFoundException when configuring camel-docker SSL options

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.20.0
    • Fix Version/s: 2.20.0
    • Component/s: camel-docker
    • Labels:
      None
    • Estimated Complexity:
      Unknown

      Description

      We had the idea in CAMEL-11256 to switch to using Netty as the docker-java CmdExecFactory. As part of this work the transitive Jersey libraries from the docker-java library were excluded.

      Unfortunately, it seems docker-java still depends on Jersey stuff, even when configured to use Netty. If I try to configure SSL options, I get:

      Caused by: java.lang.NoClassDefFoundError: org/glassfish/jersey/SslConfigurator
      	at com.github.dockerjava.core.LocalDirectorySSLConfig.getSSLContext(LocalDirectorySSLConfig.java:56)
      	at com.github.dockerjava.netty.NettyDockerCmdExecFactory$InetSocketInitializer.initSsl(NettyDockerCmdExecFactory.java:340)
      	at com.github.dockerjava.netty.NettyDockerCmdExecFactory$InetSocketInitializer.connect(NettyDockerCmdExecFactory.java:322)
      	at com.github.dockerjava.netty.NettyDockerCmdExecFactory.connect(NettyDockerCmdExecFactory.java:220)
      	at com.github.dockerjava.netty.NettyDockerCmdExecFactory.connect(NettyDockerCmdExecFactory.java:213)
      	at com.github.dockerjava.netty.NettyDockerCmdExecFactory.access$000(NettyDockerCmdExecFactory.java:157)
      	at com.github.dockerjava.netty.NettyDockerCmdExecFactory$1.getChannel(NettyDockerCmdExecFactory.java:183)
      	at com.github.dockerjava.netty.InvocationBuilder.getChannel(InvocationBuilder.java:213)
      	at com.github.dockerjava.netty.InvocationBuilder.get(InvocationBuilder.java:196)
      	at com.github.dockerjava.netty.InvocationBuilder.get(InvocationBuilder.java:187)
      	at com.github.dockerjava.netty.exec.ListImagesCmdExec.execute(ListImagesCmdExec.java:41)
      	at com.github.dockerjava.netty.exec.ListImagesCmdExec.execute(ListImagesCmdExec.java:16)
      	at com.github.dockerjava.netty.exec.AbstrSyncDockerCmdExec.exec(AbstrSyncDockerCmdExec.java:21)
      	at com.github.dockerjava.core.command.AbstrDockerCmd.exec(AbstrDockerCmd.java:35)
      	at org.apache.camel.component.docker.producer.DockerProducer.process(DockerProducer.java:115)
      	at org.apache.camel.util.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:61)
      	... 46 more
      Caused by: java.lang.ClassNotFoundException: org.glassfish.jersey.SslConfigurator
      	at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
      	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
      	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
      	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
      	... 62 more 
      

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                jamesnetherton James Netherton
                Reporter:
                jamesnetherton James Netherton
              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: