Comments (3)
The Scala global
execution context sets threads to be daemon threads. The JVM will be shut down when all non-daemon threads have exited, so as soon as your main thread finishes, your watcher will be terminated. You either need some other non-daemon thread running doing your processing, or you need to use an execution context with non-daemon threads, for example:
implicit val ec: ExecutionContext =
ExecutionContext.fromExecutorService(Executors.newFixedThreadPool(8))
Hard to suggest specifics about thread pools without knowing the kind of work you're doing, but the bottom line is you need some regular non-daemon threads running so the JVM doesn't exit.
from directory-watcher.
start()
works exactly like it does in the better-files File.Monitor
it extends. It doesn't block. It runs the watch thread on the global execution context you've provided implicitly. The issue you're seeing is that your program is finishing immediately after the watcher starts running in the background.
from directory-watcher.
Yes. Non-blocking is a good thing for a file monitor ;-). But how can I run my program then? Let's just assume that it should not do anything else than printing the events ...
from directory-watcher.
Related Issues (20)
- close() doesn't properly cleanup OS-X fsevent streams HOT 2
- Outright does not work at all HOT 1
- [JAVA] Multiple copy/delete operations do not emit 'CREATE' events afterwards HOT 2
- [JAVA] 0.9.3 Copy & Remove of folder structure does not produce CREATE events HOT 1
- Missing tag `0.9.6` upstream HOT 1
- New Release HOT 4
- Absolute path prevents events on macOS HOT 3
- Question on Using 2 Classes HOT 1
- LibCarbon failure on MacOS Big Sur HOT 12
- Allow watching directory non-recursively HOT 1
- Unable to detect file deletion events HOT 27
- File creation on Windows is sometimes not detected for copied files HOT 3
- Ensure consistent behavior when a root watched directory is deleted
- Define a minimal public API
- Watcher does not detect (re)moving a parent directory HOT 2
- DirectoryWatcher.watch() throws ClosedWatchServiceException when Watcher is closed HOT 4
- Access denied stops walking file tree HOT 7
- Does it work with mounted volumes with Docker? HOT 4
- Missing events when file is created too soon after watcher is initialized HOT 3
- Modification events are lost depending on editor - how the file is written - neovim HOT 7
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from directory-watcher.