To simplify things and help our users to be more productive, we have archived the current forum and focus our efforts on helping developers on Stack Overflow. You can post new questions on Stack Overflow or join our Discord channel.
In a Vaadin application, you probably need to do observing in a background thread, which require special consideration, as Vaadin UIs are normally only updated on client-server requests. You can use either polling or push to communicate UI changes to the browser. There's also thread-safety issues; to communicate with UIs that show the file contents, you need to use the access() method to lock the session during access.