Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache camel 在camel ftp中将目录从主目录更改为根目录_Apache Camel_Dsl_Camel Ftp - Fatal编程技术网

Apache camel 在camel ftp中将目录从主目录更改为根目录

Apache camel 在camel ftp中将目录从主目录更改为根目录,apache-camel,dsl,camel-ftp,Apache Camel,Dsl,Camel Ftp,我在驼峰配置中使用以下内容: <camel:from uri="file:{{camel.route.icl.from.file.path}}?filter=#fileFilterMAVRO&amp;initialDelay={{camel.route.from.file.initialDelay}}&amp;delay={{camel.route.from.file.delay}}&amp;useFixedDelay=true&amp;ru

我在驼峰配置中使用以下内容:

        <camel:from uri="file:{{camel.route.icl.from.file.path}}?filter=#fileFilterMAVRO&amp;initialDelay={{camel.route.from.file.initialDelay}}&amp;delay={{camel.route.from.file.delay}}&amp;useFixedDelay=true&amp;runLoggingLevel=TRACE&amp;startingDirectoryMustExist={{camel.route.from.file.startingDirectoryMustExist}}&amp;autoCreate={{camel.route.from.file.autoCreate}}&amp;maxMessagesPerPoll={{camel.route.from.file.maxMessagesPerPoll}}&amp;eagerMaxMessagesPerPoll=true&amp;delete=false&amp;readLock=idempotent&amp;readLockLoggingLevel=OFF&amp;readLockRemoveOnRollback=false&amp;readLockRemoveOnCommit=false&amp;idempotent=true&amp;idempotentKey=${file:onlyname}&amp;idempotentRepository=#iclMessageIdRepository&amp;recursive=false&amp;move={{camel.route.icl.complete.file.path}}&amp;moveFailed={{camel.route.icl.failed.file.path}}" />

        <camel:to uri="sftp://user1@ecomt199.qintra.com:22/nas/tst2/inputfiles?password=Pass1234&amp;runLoggingLevel=TRACE"/>

    </camel:route>


现在,这是工作。它可以sftp我的文件

问题是我希望我的文件位于:/nas/tst2/inputfiles . 但它在:/home/user1/nas/tst2/inputfiles中运行

现在,我怎样才能在/nas/tst2/inputfiles上运行呢?? /nas/和/主/均已打开/

问题是更改此默认值/home/

我无法找到或理解如何在camel DSL中使用哪个属性。
请帮忙

我认为最好的解决方案不是骆驼dsl,您用于sftp的用户将其根目录放在home目录中。我认为一个好的解决方案是在ftp服务器中为另一个用户配置正确的根目录,您希望将文件放在该目录中。

我认为最好的解决方案不是骆驼dsl,您用于sftp的用户将其根目录放在主目录中。我认为一个好的解决方案是在ftp服务器中为另一个用户配置正确的根目录,您希望将文件放在其中。

您不能。当前的camel ftp实现特别不允许完全限定路径。所有路径都相对于用户的主目录


为了在我的项目中解决这个问题,我对组件进行了分叉,并删除了去掉前导路径分隔符的代码。

您不能这样做。当前的camel ftp实现特别不允许完全限定路径。所有路径都相对于用户的主目录


为了在我的项目中解决这个问题,我对组件进行了分叉,并删除了去掉前导路径分隔符的代码。

Camel在当前版本中确实不允许完全限定路径。但是,只要用户具有权限,您就可以使用如下路径作为解决方法:

../../../../../../../../this_is_the_root_folder/usr/....
基本上从用户的目录开始,然后在树中上升,直到到达根目录。只需确保添加了足够的
。/../
即可到达根目录


这不是最好的解决方案,但简单且对我有效。

在当前版本中,Camel确实不允许完全限定路径。但是,只要用户具有权限,您就可以使用如下路径作为解决方法:

../../../../../../../../this_is_the_root_folder/usr/....
基本上从用户的目录开始,然后在树中上升,直到到达根目录。只需确保添加了足够的
。/../
即可到达根目录



这不是最好的解决方案,但简单易行。

这只会更改/home/dir中的用户名,比如/home/user2/。我想知道如何在XMLDSL中访问主“/”目录,是否还有其他想法?它说的是Linux。你在目标系统中使用它为用户重新定位home dir,那么使用sftp就很容易了。为了提高安全性,请使用chroot命令。这只会更改/home/dir中的用户名,如/home/user2/。我想知道如何在XMLDSL中访问主“/”目录,是否还有其他想法?它说的是Linux。你在目标系统中使用它为用户重新定位home dir,那么使用sftp就很容易了。为了提高安全性,请使用chroot命令。你能帮我详细介绍一下如何做到这一点吗?从GitHub获取camel ftp组件。然后注释org.apache.camel.component.file.remote.FtpUtils方法的使用。确保相关ftp目录。你能帮我详细介绍一下如何做到这一点吗?从GitHub获取camel ftp组件。然后注释org.apache.camel.component.file.remote.FtpUtils方法的使用。确保相关的FTP董事会。我理解你的逻辑。但这对我没用,谢谢你!问题解决了,我不得不添加逐步=真。非常感谢:)你可以帮我们一个忙,然后把答案记为正确;-)stackoverflow不允许我做任何动作,甚至不允许由于信誉分数较低而向上箭头单击。我在评论中补充了关于余的内容。我理解你的逻辑。但这对我没用,谢谢你!问题解决了,我不得不添加逐步=真。非常感谢:)你可以帮我们一个忙,然后把答案记为正确;-)stackoverflow不允许我做任何动作,甚至不允许由于信誉分数较低而向上箭头单击。我在评论中添加了关于yu的内容。感谢@mcode,这是通过添加“/…/”来解决的。使用stepwise=true。从camel v2.6开始,
stepwise=true
是默认行为。感谢@mcode,这是通过添加“/…/”来解决的。从camel v2.6开始,
stepwise=true
是默认行为。