chen created CAMEL-19430:
----------------------------
Summary: ResolveEndpointFailedException: Failed to resolve endpoint
Key: CAMEL-19430
URL: https://issues.apache.org/jira/browse/CAMEL-19430
Project: Camel
Issue Type: Bug
Components: camel-ftp
Affects Versions: 3.14.7
Reporter: chen
hello,
when upgrade camel -ftp from 2.23.1 to 3.14.7, the program exception
information is as follows:
org.apache.camel.ResolveEndpointFailedException: Failed to resolve
endpoint,There are 5 parameters that couldn't be set on the endpoint.
Brief Implementation:
{quote}Exchange exchange = context.createProducerTemplate().send("direct:go",
new DefaultExchange(context));
{quote}
{quote}static RouteBuilder getBatchFtpRoute(String ftpUri, long connectTimeout,
long totalTimeout,
AggregationStrategy aggregate, Processor complete) {
return new RouteBuilder() {
@Override
public void configure() {
from("direct:go").pollEnrich(ftpUri, connectTimeout)
.aggregate(aggregate)
.constant(true)
.completionFromBatchConsumer()
.completionTimeout(totalTimeout)
.process(complete)
.stop();
}
};
}{quote}
*ftpUri* is
+sftp://[email protected]:22/.//clb?binary=false&connectTimeout=60000&consumer.delay=2000&disconnect=true&filter=%23myFileFilter&idempotent=true&maximumReconnectAttempts=2&password=xxxxxx&pollStrategy=%23filePollStrategy&reconnectDelay=1000&throwExceptionOnConnectFailed=true+
When I went to debug the process, I find in the class IntrospectionSupport,
the parameters in query like 'binary' , does not have setBinary method.
{*}Unknown parameters{*}=[\\{binary=false, connectTimeout=60000,
consumer.delay=2000, password=null, throwExceptionOnConnectFailed=true}]
How to solve the problem? I can not use camel-ftp like the configuration mode
in springboot.
!image-2023-06-09-14-54-41-450.png!
*exception information*
{quote}org.apache.camel.ResolveEndpointFailedException: Failed to resolve
endpoint:
sftp://[email protected]:22/.//clb?binary=false&connectTimeout=60000&consumer.delay=2000&disconnect=true&filter=%23myFileFilter&idempotent=true&maximumReconnectAttempts=2&password=xxxxxx&pollStrategy=%23filePollStrategy&reconnectDelay=1000&throwExceptionOnConnectFailed=true
due to: Failed to resolve endpoint:
sftp://[email protected]:22/.//clb?binary=false&connectTimeout=60000&consumer.delay=2000&disconnect=true&filter=%23myFileFilter&idempotent=true&maximumReconnectAttempts=2&password=xxxxxx&pollStrategy=%23filePollStrategy&reconnectDelay=1000&throwExceptionOnConnectFailed=true
due to: There are 5 parameters that couldn't be set on the endpoint. Check the
uri if the parameters are spelt correctly and that they are properties of the
endpoint. Unknown parameters=[\\{binary=false, connectTimeout=60000,
consumer.delay=2000, password=null, throwExceptionOnConnectFailed=true}]
at
org.apache.camel.impl.engine.AbstractCamelContext.doGetEndpoint(AbstractCamelContext.java:968)
~[camel-base-engine-3.14.7.jar:3.14.7]
at
org.apache.camel.impl.engine.AbstractCamelContext.getEndpoint(AbstractCamelContext.java:859)
~[camel-base-engine-3.14.7.jar:3.14.7]
at
org.apache.camel.support.CamelContextHelper.getMandatoryEndpoint(CamelContextHelper.java:73)
~[camel-support-3.14.7.jar:3.14.7]
at
org.apache.camel.support.ExchangeHelper.resolveEndpoint(ExchangeHelper.java:120)
~[camel-support-3.14.7.jar:3.14.7]
at
org.apache.camel.processor.PollEnricher.resolveEndpoint(PollEnricher.java:400)
~[camel-core-processor-3.14.7.jar:3.14.7]
at org.apache.camel.processor.PollEnricher.process(PollEnricher.java:228)
~[camel-core-processor-3.14.7.jar:3.14.7]
at
org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$SimpleTask.run(RedeliveryErrorHandler.java:477)
~[camel-core-processor-3.14.7.jar:3.14.7]
at
org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.schedule(DefaultReactiveExecutor.java:193)
~[camel-base-engine-3.14.7.jar:3.14.7]
at
org.apache.camel.impl.engine.DefaultReactiveExecutor.scheduleMain(DefaultReactiveExecutor.java:64)
~[camel-base-engine-3.14.7.jar:3.14.7]
at org.apache.camel.processor.Pipeline.process(Pipeline.java:185)
~[camel-core-processor-3.14.7.jar:3.14.7]
at
org.apache.camel.impl.engine.CamelInternalProcessor.process(CamelInternalProcessor.java:398)
~[camel-base-engine-3.14.7.jar:3.14.7]
at
org.apache.camel.component.direct.DirectProducer.process(DirectProducer.java:96)
~[camel-direct-3.14.7.jar:3.14.7]
at
org.apache.camel.impl.engine.SharedCamelInternalProcessor.process(SharedCamelInternalProcessor.java:217)
~[camel-base-engine-3.14.7.jar:3.14.7]
at
org.apache.camel.impl.engine.SharedCamelInternalProcessor$1.process(SharedCamelInternalProcessor.java:111)
~[camel-base-engine-3.14.7.jar:3.14.7]
at
org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.process(DefaultAsyncProcessorAwaitManager.java:83)
~[camel-base-engine-3.14.7.jar:3.14.7]
at
org.apache.camel.impl.engine.SharedCamelInternalProcessor.process(SharedCamelInternalProcessor.java:108)
~[camel-base-engine-3.14.7.jar:3.14.7]
at
org.apache.camel.support.cache.DefaultProducerCache.send(DefaultProducerCache.java:199)
~[camel-support-3.14.7.jar:3.14.7]
at
org.apache.camel.impl.engine.DefaultProducerTemplate.send(DefaultProducerTemplate.java:176)
~[camel-base-engine-3.14.7.jar:3.14.7]
at
org.apache.camel.impl.engine.DefaultProducerTemplate.send(DefaultProducerTemplate.java:148)
~[camel-base-engine-3.14.7.jar:3.14.7]
at
org.apache.camel.impl.engine.DefaultProducerTemplate.send(DefaultProducerTemplate.java:131)
~[camel-base-engine-3.14.7.jar:3.14.7]
at
com.huawei.ivcs.ccvm.vehicleei.service.ftp.common.RouteHelper.startDownloadRoute(RouteHelper.java:106)
~[classes/:?]
at
com.huawei.ivcs.ccvm.vehicleei.service.ftp.download.DownloadService.lambda$getAsyncDownloadTask$0(DownloadService.java:117)
~[classes/:?]
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
~[?:?]
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
~[?:?]
at java.lang.Thread.run(Thread.java:834) [?:?]
Caused by: org.apache.camel.ResolveEndpointFailedException: Failed to resolve
endpoint:
sftp://[email protected]:22/.//clb?binary=false&connectTimeout=60000&consumer.delay=2000&disconnect=true&filter=%23myFileFilter&idempotent=true&maximumReconnectAttempts=2&password=xxxxxx&pollStrategy=%23filePollStrategy&reconnectDelay=1000&throwExceptionOnConnectFailed=true
due to: There are 5 parameters that couldn't be set on the endpoint. Check the
uri if the parameters are spelt correctly and that they are properties of the
endpoint. Unknown parameters=[\\{binary=false, connectTimeout=60000,
consumer.delay=2000, password=null, throwExceptionOnConnectFailed=true}]
at
org.apache.camel.support.DefaultComponent.validateParameters(DefaultComponent.java:299)
~[camel-support-3.14.7.jar:3.14.7]
at
org.apache.camel.support.DefaultComponent.createEndpoint(DefaultComponent.java:192)
~[camel-support-3.14.7.jar:3.14.7]
at
org.apache.camel.impl.engine.AbstractCamelContext.doGetEndpoint(AbstractCamelContext.java:934)
~[camel-base-engine-3.14.7.jar:3.14.7]
... 24 more
{quote}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)