in pekko-connectors-sample-ftp-to-file/src/main/scala/playground/FtpServerEmbedded.scala [18:37]
def start(fs: FileSystem, port: Int): FtpServer = {
val factory = new ListenerFactory()
factory.setServerAddress("localhost")
factory.setPort(port)
val usersFile = new File("ftpusers.properties")
val pumf = new PropertiesUserManagerFactory
pumf.setFile(usersFile)
val userMgr = pumf.createUserManager
val serverFactory = new FtpServerFactory()
serverFactory.setUserManager(userMgr)
serverFactory.setFileSystem(new JimfsFactory(fs))
serverFactory.setConnectionConfig(new ConnectionConfigFactory().createConnectionConfig)
serverFactory.addListener(DEFAULT_LISTENER, factory.createListener)
val ftpServer = serverFactory.createServer()
ftpServer.start()
ftpServer
}