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?