Skip to content

SMB: FileTransferringMessageHandler not creating folders #250

Open
@icstreispe

Description

@icstreispe

I've created a class like this:

public class SmbMessageHandler extends FileTransferringMessageHandler<SmbFile>{
  public SmbMessageHandler (SmbRemoteFileTemplate s, FileExistsMode m){
    super (s, m);
  }
  public SmbMessageHandler (SessionFactory<SmbFile> f){
    this(new SmbRemoteFileTemplate(f));
  }
  public SmbMessageHandler (SmbRemoteFileTemplate s{
    super (s);
  }
  public boolean isChmodCapable(){ return false; }
}

Then used it in a spring integration flow like this:

@Bean("smbMessageHandler")
public MessageHandle  smbMessageHandler(FileNameGenerator g){
  SmbMessageHandler h = new SmbMessageHandler(smbRemoteFileTemplate, REPLACE);
  h.setAutoCreateDirectory(true);
  h.setRemoteDirectoryExpression("dir1/dir2/dir3/dir4/");
  h.setFileNameGenerator (g);
  return h;
}

And when I run the flow everything is fine as long as at least the folders dir1, dir2, dir3 are already created, it managed to create dir4 if is not available. But if dir3 (or below, like dir1 or dir2) are not already created, the component fails with:

jcifs.smb.SmbException: The network name cannot be found

What can I do in order to make it create all the necessary folders, no matter how many?

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions