2014-06-20 69 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都可以正常工作。