как создать файл в удаленном каталоге из byte[], так как в PollableChannel доступны методы send(). из приведенного ниже кода можно отправить файл на удаленный компьютер, но он создает файл на локальном компьютере. как избежать создания файла на локальной машине?
PollableChannel remoteFileChannel = context.getBean("outputChannel", PollableChannel.class);
Message<byte[]> sendFile = MessageBuilder.withPayload("hi how are you".getBytes()).build();
remoteFileChannel.send(sendFile);
весенняя конфигурация sftp:
<bean id="sftpSessionFactory"
class="org.springframework.integration.sftp.session.DefaultSftpSessionFactory"
p:host="${sftp.host}"
p:port="${sftp.port}"
p:user="${sftp.username}"
p:password="${sftp.password}"
p:allowUnknownKeys="${sftp.allowUnknownKeys}" />
<int:channel id="outputChannel">
<int:queue />
</int:channel>
<int-sftp:outbound-channel-adapter id="outboundAdapter"
session-factory="sftpSessionFactory"
channel="outputChannel"
charset="UTF-8"
remote-directory="${sftp.remotedir}"
remote-filename-generator="randomFileNameGenerator" />
как создать файл со случайным именем и записать в него байты?
Я пробовал использовать пользовательский класс генератора имен файлов:
@Component("randomFileNameGenerator")
public class RandomFileNameGenerator implements FileNameGenerator {
@Override
public String generateFileName(Message<?> msg) {
long number = (long) Math.floor(Math.random() * 90000000L) + 1000000L;
String fileName = String.format("%d.txt", number);
return fileName;
}
}
где имя файла не было задано, создавая файл с именем типа «adas-asdfsadf-545sadf.msg». может ли кто-нибудь указать мне, где я делаю неправильно