2014-06-20 43 views
0

我有一个java web应用程序在一个文件夹中创建一个文件。这些文件是由骆驼路线拾取的,pgp加密它,然后是ftp。最初,我将它作为一条路线,并在我的Windows服务器上运行。然后它停止工作。所以,即使ftp失败,我也可以将它分成两条路径,而不会在服务器上存在未加密的文件。另外,如果需要,我可以手动ftp这些(不理想)。现在,它可以在一台服务器上运行,而不是另一台服两者都是Windows服务器,我的应用程序服务器是tomcat。Windows上的Apache骆驼文件encrypt/ftp上传困境

是否有一种可靠的方法可以跨服务器进行这项工作?

的路线图所示

<route id="file_encrypt"> 
    <from uri="file://{{rootOutputDirectory}}/thirdparty/outbound?readLock=rename&amp;delete=true"/> 
    <setHeader headerName="cryptoKeyFile"> 
    <simple>${properties:thirdparty.pgpkey}</simple> 
    </setHeader> 
    <to uri="bean:PGPEncryptProcessor"/> 
    <to uri="file://{{rootOutputDirectory}}/thirdparty/outbound/encrypted"/> 
</route> 

<route id="file_ftp"> 
    <from uri="file://{{rootOutputDirectory}}/thirdparty/outbound/encrypted/?readLock=rename&amp;move=.done&amp;moveFailed=.error"/> 
    <to uri="ftp://{{thirdparty.ftp.user}}@{{thirdparty.ftp.url}}{{thirdparty.ftp.outgoingdir}}/?password={{thirdparty.ftp.password}}&amp;binary=true"/> 
</route> 

thirdparty.ftp.outgoingdir值是

thirdparty.ftp.outgoingdir=/test/incoming 

我看到下面的错误日志

org.apache.camel.component.file.GenericFileOperationFailedException: File operation failed: 550 Failed to change directory. 

好像这里列出的问题 - http://camel.465427.n5.nabble.com/Cannot-change-directory-to-quot-Code-550-on-FTP-component-td5734612.html。但是,目前尚不清楚为什么它在一台服务器上运行,而另一台服务器却没有相同的设置。

回答

0

原来,commons-net版本在不同的服务器上是不同的 - 一个是3.1(工作),另一个是3.2(不工作)。我不确定发生了什么(看着它)。但是,将所有服务器上的commons-net切换到3.1都可以正常工作。