Uploaded image for project: 'Red Hat Fuse'
  1. Red Hat Fuse
  2. ENTESB-7469

Camel Docker component cannot use Unix socket connections on EAP

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Major
    • fuse-7.0
    • fuse-7.0
    • Fuse EAP
    • None
    • % %
    • Fuse 7.0 Sprint 22

    Description

      If the camel-docker component attempts to connect to the Docker socket on EAP, it results in:

      Caused by: java.lang.NoClassDefFoundError: io/netty/channel/unix/DomainSocketAddress
      	at com.github.dockerjava.netty.NettyDockerCmdExecFactory.init(NettyDockerCmdExecFactory.java:201)
      	at com.github.dockerjava.core.DockerClientImpl.withDockerCmdExecFactory(DockerClientImpl.java:161)
      	at com.github.dockerjava.core.DockerClientBuilder.build(DockerClientBuilder.java:45)
      	at org.apache.camel.component.docker.DockerClientFactory.getDockerClient(DockerClientFactory.java:140)
      	at org.apache.camel.component.docker.producer.DockerProducer.process(DockerProducer.java:87)
      	at org.apache.camel.util.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:61)
      	... 159 more
      Caused by: java.lang.ClassNotFoundException: io.netty.channel.unix.DomainSocketAddress from [Module "com.github.docker.java" from local module loader @4206a205 (finder: local module finder @29ba4338 (roots: /home/jenkins/workspace/wildfly-camel-5.x-openjdk/itests/standalone/docker/target/jboss-eap-7.1.0.GA-redhat-11/modules,/home/jenkins/workspace/wildfly-camel-5.x-openjdk/itests/standalone/docker/target/jboss-eap-7.1.0.GA-redhat-11/modules/system/layers/fuse,/home/jenkins/workspace/wildfly-camel-5.x-openjdk/itests/standalone/docker/target/jboss-eap-7.1.0.GA-redhat-11/modules/system/layers/base))]
      	at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:198)
      	at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:412)
      	at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:400)
      	at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:116)
      	... 165 more
      

      The productized netty-all JAR does not contain the io/netty/channel/unix/ packages, presumably because of dependencies on native binaries (libnetty-transport-native-epoll.so).

      tdiesler@redhat.com how should we deal with this? Add the missing dependencies to our project or just accept that camel-docker over Unix sockets will never work on EAP?

      Attachments

        Activity

          People

            jnethert@redhat.com James Netherton
            jnethert@redhat.com James Netherton
            Jan Kasztura Jan Kasztura (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: