2016-05-10 9 views
0

ローカルフォルダからApache Camel JCIFSコンポーネントを使用して別のローカルフォルダにファイルをコピーしようとしています。ここでorg.apache.camel.component.file.GenericFileOperationFailedException:ファイルを取得できませんでしたネットワーク名が見つかりません

がMyRouteBuilderクラスのための私のJavaコードです:

package abc; 

import org.apache.camel.builder.RouteBuilder; 

public class MyRouteBuilder extends RouteBuilder { 

    public void configure() { 
     long delay = 60 * 60 * 1000L; 
     from("smb://[email protected]/WORKGROUP/home/user/folder?password=secret&delay=" + delay) 
     .to("file://home/otherUser/folder"); 

    // This doesn't work either: 
    //from("smb://localhost;[email protected]/WORKGROUP/home/user/folder?password=secret&delay=" + delay) 
    //  .to("file://home/otherUser/folder"); 
    } 
} 

このルートを実行した後、例外を次が表示されます:

org.apache.camel.component.file.GenericFileOperationFailedException: Could not get files The network name cannot be found. 
at org.apacheextras.camel.component.jcifs.SmbOperations.listFiles(SmbOperations.java:345) 
at org.apacheextras.camel.component.jcifs.SmbConsumer.pollDirectory(SmbConsumer.java:58) 
at org.apache.camel.component.file.GenericFileConsumer.poll(GenericFileConsumer.java:131) 
at org.apache.camel.impl.ScheduledPollConsumer.doRun(ScheduledPollConsumer.java:175) 
at org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:102) 
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) 
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) 
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
at java.lang.Thread.run(Thread.java:745) 
Caused by: jcifs.smb.SmbException: The network name cannot be found. 
at jcifs.smb.SmbTransport.checkStatus(SmbTransport.java:563) 
at jcifs.smb.SmbTransport.send(SmbTransport.java:663) 
at jcifs.smb.SmbSession.send(SmbSession.java:238) 
at jcifs.smb.SmbTree.treeConnect(SmbTree.java:176) 
at jcifs.smb.SmbFile.doConnect(SmbFile.java:911) 
at jcifs.smb.SmbFile.connect(SmbFile.java:954) 
at jcifs.smb.SmbFile.connect0(SmbFile.java:880) 
at jcifs.smb.SmbFile.resolveDfs(SmbFile.java:669) 
at jcifs.smb.SmbFile.send(SmbFile.java:773) 
at jcifs.smb.SmbFile.doFindFirstNext(SmbFile.java:1986) 
at jcifs.smb.SmbFile.doEnum(SmbFile.java:1738) 
at jcifs.smb.SmbFile.listFiles(SmbFile.java:1715) 
at jcifs.smb.SmbFile.listFiles(SmbFile.java:1648) 
at org.apacheextras.camel.component.jcifs.DefaultSmbClient.listFiles(DefaultSmbClient.java:161) 
at org.apacheextras.camel.component.jcifs.SmbOperations.listFiles(SmbOperations.java:341) 
... 11 more 

注1:私は私のコンピュータで構成されたSambaサーバを持っているし、そして私は内部に4つのファイルを持つシンプルなフォルダを共有しています。

注2:私はテストするためにlocalhostを使用しています。私はこの作業をした後、私は別のマシンのIP /ドメインを使用します。

ありがとうございました!

答えて

0

私はちょうどそれを作った。私のルートは間違っていた。私は、ターミナルで以下のコマンドを実行して、私の誤りに気づい

package abc; 

import org.apache.camel.builder.RouteBuilder; 

public class MyRouteBuilder extends RouteBuilder { 

    public void configure() { 
     long delay = 60 * 60 * 1000L; 
     from("smb://[email protected]/folder?password=secret&delay=" + delay) 
     .to("file://home/otherUser/folder"); 
    } 
} 

smbclient -L localhost 

共有名は私の共有フォルダ「フォルダ」であったことを私に与えたコマンドこれは、このようにする必要があります。

関連する問題