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

Camel Docker component cannot use Unix socket connections on EAP

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: fuse-7.0
    • Fix Version/s: fuse-7.0
    • Component/s: Fuse EAP
    • Labels:
      None
    • Sprint:
      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).

      Thomas Diesler 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?

        Gliffy Diagrams

          Attachments

            Activity

              People

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

                Dates

                • Created:
                  Updated:
                  Resolved: