Merge pull request #1180 from WalkerWatch/issues/1061
Issue #1061 Documentation
This commit is contained in:
commit
4669cc70c8
|
@ -23,4 +23,5 @@ include::troubleshooting-zip-exceptions.adoc[]
|
|||
include::troubleshooting-locked-files.adoc[]
|
||||
include::preventing-memory-leaks.adoc[]
|
||||
include::slow-deployment.adoc[]
|
||||
include::security-reports.adoc[]
|
||||
include::security-reports.adoc[]
|
||||
include::watchservice.adoc[]
|
||||
|
|
|
@ -0,0 +1,35 @@
|
|||
// ========================================================================
|
||||
// Copyright (c) 1995-2016 Mort Bay Consulting Pty. Ltd.
|
||||
// ========================================================================
|
||||
// All rights reserved. This program and the accompanying materials
|
||||
// are made available under the terms of the Eclipse Public License v1.0
|
||||
// and Apache License v2.0 which accompanies this distribution.
|
||||
//
|
||||
// The Eclipse Public License is available at
|
||||
// http://www.eclipse.org/legal/epl-v10.html
|
||||
//
|
||||
// The Apache License v2.0 is available at
|
||||
// http://www.opensource.org/licenses/apache2.0.php
|
||||
//
|
||||
// You may elect to redistribute this code under either of these licenses.
|
||||
// ========================================================================
|
||||
|
||||
[[watchservice]]
|
||||
=== Java WatchService
|
||||
|
||||
The JVM link:https://docs.oracle.com/javase/7/docs/api/java/nio/file/WatchService.html[`WatchService`] is in place to monitor objects like a directory for changes, and then update it's contents and notify the application of those changes.
|
||||
This service is useful for features like link:#hot-deployment[Hot Deployment].
|
||||
When a change is detected, the `WatchService` will enter a "quiet time" where it is waiting for the change (or changes) to be made and completed before notifying the application of the change.
|
||||
|
||||
Example:
|
||||
A new war file is copied into `/webapps`.
|
||||
The `WatchService` can (depending on implementation) see that the file was created (which is registered as an event!, and that its growing in size (another event).
|
||||
With the quiet time, each of the events are gated behind that timeout before the aggregated events are sent to the application.
|
||||
|
||||
While some operating systems such as Windows have a native value for this quiet time, not all do, notably OSX.
|
||||
At the core this is a limitation of the JVM's FileSystem-specific implementation, but one that has been raised to the link:https://bugs.openjdk.java.net/browse/JDK-7133447[attention of the project.]
|
||||
|
||||
==== Remedy
|
||||
|
||||
To help offset the delay in systems like OSX, Jetty defaults the value for non-native implementations to a link:{GITBROWSEURL}/jetty-util/src/main/java/org/eclipse/jetty/util/PathWatcher.java#L1431[time of 5000ms.]
|
||||
Using values lower than 5000ms is not recommended and has shown to frequently fail.
|
Loading…
Reference in New Issue