Hi Claus,
thanks for your reply. I forgot to mention, that I am using Camel in Karaf. Along with Camel I also upgraded Karaf (4.2.9 => 4.3.0). When using Camel 2.7.1 with Karaf 4.2.9, the camel-ssh component is working without problems. Also, the camel features URLs for installing Camel into Karaf both specify mvn:org.apache.sshd/sshd-core/2.0.0 as dependency for camel-ssh https://repo1.maven.org/maven2/org/apache/camel/karaf/apache-camel/3.4.0/apache-camel-3.4.0-features.xml https://repo1.maven.org/maven2/org/apache/camel/karaf/apache-camel/3.7.1/apache-camel-3.7.1-features.xml So it seems to be a Karaf-related issue. Using "feature:install camel-ssh" results in the following in a clean Karaf 4.2.9: karaf@root()> bundle:list -t 0 | grep -i ssh 35 x Active x 30 x 4.2.9 x Apache Karaf :: Shell :: SSH 38 x Active x 30 x 1.7.0 x Apache Mina SSHD :: Core 79 x Active x 50 x 3.7.1 x camel-ssh 101 x Active x 50 x 2.0.0 x Apache Mina SSHD :: Core And in a clean Karaf 4.3.0 it results in: karaf@root()> bundle:list -t 0 | grep -i ssh 44 x Active x 30 x 4.3.0 x Apache Karaf :: Shell :: SSH 46 x Active x 30 x 2.5.1 x Apache Mina SSHD :: OSGi 47 x Active x 30 x 2.5.1 x Apache Mina SSHD :: SCP 48 x Active x 30 x 2.5.1 x Apache Mina SSHD :: SFTP 121 x Active x 50 x 3.7.1 x camel-ssh I'm too tired right now to persue this any further. Maybe I can resolve it tomorrow. Regards -- Jan Schulze Eberhard Karls Universität Tübingen ________________________________ Von: Claus Ibsen <claus.ib...@gmail.com> Gesendet: Dienstag, 26. Januar 2021 13:26:16 An: users@camel.apache.org Betreff: Re: Component "camel-ssh" broken? - NoSuchMethodError: ConnectFuture.getSession() Hi Thanks for reporting. Can you create a JIRA ticket. And would you be able to try test with switching to use mina 2.0 JAR on the classpath but keep using the 3.7.1 camel version. On Tue, Jan 26, 2021 at 1:20 PM Schulze, Jan <jan.schu...@uni-tuebingen.de> wrote: > > Hi, > > "camel-ssh" component is throwing a CamelExecutionException when it is used > to write a file via SSH. > It used to be working in Camel 3.4.0, but after upgrading to 3.7.1, I observe > the following stack trace: > > org.apache.camel.CamelExecutionException: Exception occurred during execution > on the exchange: Exchange[F2205BFA0B31B1C-0000000000000000] > at > org.apache.camel.CamelExecutionException.wrapCamelExecutionException(CamelExecutionException.java:45) > ~[!/:3.7.1] > at > org.apache.camel.support.DefaultExchange.setException(DefaultExchange.java:425) > ~[!/:3.7.1] > at > org.apache.camel.support.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:69) > ~[!/:3.7.1] > at > org.apache.camel.processor.SendProcessor.lambda$process$2(SendProcessor.java:188) > ~[!/:3.7.1] > at > org.apache.camel.support.cache.DefaultProducerCache.doInAsyncProducer(DefaultProducerCache.java:317) > ~[!/:3.7.1] > at > org.apache.camel.processor.SendProcessor.process(SendProcessor.java:187) > ~[!/:3.7.1] > at > org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.doRun(RedeliveryErrorHandler.java:714) > [!/:3.7.1] > at > org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.run(RedeliveryErrorHandler.java:623) > [!/:3.7.1] > at > org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.schedule(DefaultReactiveExecutor.java:148) > [!/:3.7.1] > at > org.apache.camel.impl.engine.DefaultReactiveExecutor.scheduleMain(DefaultReactiveExecutor.java:60) > [!/:3.7.1] > at org.apache.camel.processor.Pipeline.process(Pipeline.java:147) > [!/:3.7.1] > at > org.apache.camel.impl.engine.CamelInternalProcessor.process(CamelInternalProcessor.java:312) > [!/:3.7.1] > at > org.apache.camel.component.timer.TimerConsumer.sendTimerExchange(TimerConsumer.java:207) > [!/:3.7.1] > at > org.apache.camel.component.timer.TimerConsumer$1.run(TimerConsumer.java:76) > [!/:3.7.1] > at java.util.TimerThread.mainLoop(Timer.java:556) [?:?] > at java.util.TimerThread.run(Timer.java:506) [?:?] > Caused by: java.lang.NoSuchMethodError: > 'org.apache.sshd.client.session.ClientSession > org.apache.sshd.client.future.ConnectFuture.getSession()' > at > org.apache.camel.component.ssh.SshHelper.sendExecCommand(SshHelper.java:84) > ~[?:?] > at > org.apache.camel.component.ssh.SshProducer.process(SshProducer.java:74) ~[?:?] > at > org.apache.camel.support.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:66) > ~[!/:3.7.1] > ... 13 more > > The Camel route for writing the file is very simple (and has not changed > during the Camel upgrade): > > .setHeader("currentDate", simple("${date:now:yyyy-MM-dd}", String.class)) > .setHeader("filename", simple("/tmp/test.text", String.class)) > .setBody(simple("echo ${header.currentDate} > ${header.filename};")) > .to("ssh://username:password@hostname") > > It seems, that some changes to Mina SSHD in > "org.apache.sshd.client.future.ConnectFuture.java" related to the following > JIRA are responsible: > https://issues.apache.org/jira/browse/SSHD-842 > > Camel 3.4.0 (working) uses Mina 2.0.0, whereas Camel 3.7.1 uses Mina 2.5.1. > The changes from the mentioned JIRA are in effect since Mina 2.1.0. > > Can anyone confirm? > > > Regards > -- > Jan Schulze > Eberhard Karls Universität Tübingen -- Claus Ibsen ----------------- http://davsclaus.com @davsclaus Camel in Action 2: https://www.manning.com/ibsen2