Found one Java-level deadlock:
=============================
"workload-thread-39":
  waiting to lock monitor 0x00007f83a80017d0 (object 0x00000000870a7400, a org.apache.commons.vfs2.provider.sftp.SftpFileSystem),
  which is held by "workload-thread-82"

"workload-thread-82":
  waiting to lock monitor 0x00007f83b40052b0 (object 0x00000000870aa6c0, a org.apache.commons.vfs2.provider.sftp.SftpFileObject),
  which is held by "workload-thread-87"

"workload-thread-87":
  waiting to lock monitor 0x00007f83a80017d0 (object 0x00000000870a7400, a org.apache.commons.vfs2.provider.sftp.SftpFileSystem),
  which is held by "workload-thread-82"

Java stack information for the threads listed above:
===================================================
"workload-thread-39":
        at org.apache.commons.vfs2.provider.AbstractFileSystem.resolveFile(AbstractFileSystem.java:312)
        - waiting to lock <0x00000000870a7400> (a org.apache.commons.vfs2.provider.sftp.SftpFileSystem)
        at org.apache.commons.vfs2.provider.AbstractFileSystem.resolveFile(AbstractFileSystem.java:307)
        at org.apache.commons.vfs2.provider.AbstractOriginatingFileProvider.findFile(AbstractOriginatingFileProvider.java:75)
        at org.apache.commons.vfs2.provider.AbstractOriginatingFileProvider.findFile(AbstractOriginatingFileProvider.java:55)
        at org.apache.commons.vfs2.impl.DefaultFileSystemManager.resolveFile(DefaultFileSystemManager.java:788)
        at org.apache.commons.vfs2.impl.DefaultFileSystemManager.resolveFile(DefaultFileSystemManager.java:835)
        at de.prm.common.ftp.clients.VfsClient.connectWithoutRetryImpl(VfsClient.java:139)
        at de.prm.common.ftp.clients.AbstractClient.<init>(AbstractClient.java:70)
        at de.prm.common.ftp.clients.VfsClient.<init>(VfsClient.java:80)
        at de.prm.common.messagequeueing.processors.FtpClientRequest.execute(FtpClientRequest.java:141)
        at de.prm.common.messagequeueing.Main$1.processMessage(Main.java:20)
        at de.prm.common.messagequeueing.MessageQueueingServer.processMessage(MessageQueueingServer.java:120)
        at de.prm.common.messagequeueing.MessageQueueHandler$2.run(MessageQueueHandler.java:102)
        at java.util.concurrent.Executors$RunnableAdapter.call(java.base@17/Executors.java:539)
        at java.util.concurrent.FutureTask.run(java.base@17/FutureTask.java:264)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(java.base@17/ScheduledThreadPoolExecutor.java:304)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(java.base@17/ThreadPoolExecutor.java:1136)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(java.base@17/ThreadPoolExecutor.java:635)
        at java.lang.Thread.run(java.base@17/Thread.java:833)
"workload-thread-82":
        at org.apache.commons.vfs2.provider.sftp.SftpFileObject.doDetach(SftpFileObject.java:140)
        - waiting to lock <0x00000000870aa6c0> (a org.apache.commons.vfs2.provider.sftp.SftpFileObject)
        at org.apache.commons.vfs2.provider.AbstractFileObject.detach(AbstractFileObject.java:484)
        - locked <0x00000000870a7400> (a org.apache.commons.vfs2.provider.sftp.SftpFileSystem)
        at org.apache.commons.vfs2.provider.AbstractFileObject.refresh(AbstractFileObject.java:1790)
        at org.apache.commons.vfs2.provider.AbstractFileSystem.resolveFile(AbstractFileSystem.java:344)
        - locked <0x00000000870a7400> (a org.apache.commons.vfs2.provider.sftp.SftpFileSystem)
        at org.apache.commons.vfs2.provider.AbstractFileSystem.resolveFile(AbstractFileSystem.java:307)
        at org.apache.commons.vfs2.provider.sftp.SftpFileObject.doListChildrenResolved(SftpFileObject.java:341)
        at org.apache.commons.vfs2.provider.AbstractFileObject.getChildren(AbstractFileObject.java:1079)
        - locked <0x00000000870a7400> (a org.apache.commons.vfs2.provider.sftp.SftpFileSystem)
        at de.prm.common.ftp.clients.VfsClient.listItemsImpl(VfsClient.java:225)
        at de.prm.common.ftp.clients.AbstractClient.listItemsImplWrapper(AbstractClient.java:453)
        at de.prm.common.ftp.clients.AbstractClient.removeSingleItem(AbstractClient.java:220)
        at de.prm.common.ftp.clients.AbstractClient.unensureSingleItem(AbstractClient.java:255)
        at de.prm.common.ftp.clients.AbstractClient.uploadSingleItem(AbstractClient.java:153)
        at de.prm.common.ftp.clients.AbstractClient.executeInstruction(AbstractClient.java:348)
        at de.prm.common.messagequeueing.processors.FtpClientRequest.execute(FtpClientRequest.java:147)
        at de.prm.common.messagequeueing.Main$1.processMessage(Main.java:20)
        at de.prm.common.messagequeueing.MessageQueueingServer.processMessage(MessageQueueingServer.java:120)
        at de.prm.common.messagequeueing.MessageQueueHandler$2.run(MessageQueueHandler.java:102)
        at java.util.concurrent.Executors$RunnableAdapter.call(java.base@17/Executors.java:539)
        at java.util.concurrent.FutureTask.run(java.base@17/FutureTask.java:264)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(java.base@17/ScheduledThreadPoolExecutor.java:304)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(java.base@17/ThreadPoolExecutor.java:1136)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(java.base@17/ThreadPoolExecutor.java:635)
        at java.lang.Thread.run(java.base@17/Thread.java:833)
"workload-thread-87":
        at org.apache.commons.vfs2.provider.sftp.SftpFileSystem.putChannel(SftpFileSystem.java:350)
        - waiting to lock <0x00000000870a7400> (a org.apache.commons.vfs2.provider.sftp.SftpFileSystem)
        at org.apache.commons.vfs2.provider.sftp.SftpFileObject.statSelf(SftpFileObject.java:527)
        - locked <0x00000000870aa6c0> (a org.apache.commons.vfs2.provider.sftp.SftpFileObject)
        at org.apache.commons.vfs2.provider.sftp.SftpFileObject.onChange(SftpFileObject.java:483)
        at org.apache.commons.vfs2.provider.AbstractFileObject.endOutput(AbstractFileObject.java:953)
        at org.apache.commons.vfs2.provider.DefaultFileContent.endOutput(DefaultFileContent.java:592)
        at org.apache.commons.vfs2.provider.DefaultFileContent.access$200(DefaultFileContent.java:44)
        at org.apache.commons.vfs2.provider.DefaultFileContent$FileContentOutputStream.onClose(DefaultFileContent.java:779)
        at org.apache.commons.vfs2.util.MonitorOutputStream.close(MonitorOutputStream.java:92)
        at org.apache.commons.vfs2.provider.DefaultFileContent$FileContentOutputStream.close(DefaultFileContent.java:764)
        at org.apache.commons.vfs2.provider.DefaultFileContent.write(DefaultFileContent.java:814)
        at org.apache.commons.vfs2.provider.DefaultFileContent.write(DefaultFileContent.java:827)
        at org.apache.commons.vfs2.util.FileObjectUtils.writeContent(FileObjectUtils.java:184)
        at org.apache.commons.vfs2.provider.AbstractFileObject.copyFrom(AbstractFileObject.java:296)
        at de.prm.common.ftp.clients.VfsClient.uploadSingleItem(VfsClient.java:217)
        at de.prm.common.ftp.clients.AbstractClient.uploadSingleItem(AbstractClient.java:162)
        at de.prm.common.ftp.clients.AbstractClient.executeInstruction(AbstractClient.java:348)
        at de.prm.common.messagequeueing.processors.FtpClientRequest.execute(FtpClientRequest.java:147)
        at de.prm.common.messagequeueing.Main$1.processMessage(Main.java:20)
        at de.prm.common.messagequeueing.MessageQueueingServer.processMessage(MessageQueueingServer.java:120)
        at de.prm.common.messagequeueing.MessageQueueHandler$2.run(MessageQueueHandler.java:102)
        at java.util.concurrent.Executors$RunnableAdapter.call(java.base@17/Executors.java:539)
        at java.util.concurrent.FutureTask.run(java.base@17/FutureTask.java:264)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(java.base@17/ScheduledThreadPoolExecutor.java:304)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(java.base@17/ThreadPoolExecutor.java:1136)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(java.base@17/ThreadPoolExecutor.java:635)
        at java.lang.Thread.run(java.base@17/Thread.java:833)

Found 1 deadlock.
