| [//]: # " Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved. " | 
 | [//]: # " " | 
 | [//]: # " This program and the accompanying materials are made available under the " | 
 | [//]: # " terms of the Eclipse Distribution License v. 1.0, which is available at " | 
 | [//]: # " http://www.eclipse.org/org/documents/edl-v10.php. " | 
 | [//]: # " " | 
 | [//]: # " SPDX-License-Identifier: BSD-3-Clause " | 
 |  | 
 | Resource Configuration Reload Example | 
 | ===================================== | 
 |  | 
 | This example demonstrates how to create a simple Jersey application with | 
 | resource reloading capability using | 
 | [Grizzly HTTP Server container](https://projects.eclipse.org/projects/ee4j.grizzly). | 
 |  | 
 | Contents | 
 | -------- | 
 |  | 
 | The mapping of the URI path space is presented in the following table: | 
 |  | 
 | URI path                    | Resource class                                            | Content                                          | HTTP methods | 
 | --------------------------- | --------------------------------------------------------- | ------------------------------------------------ | -------------- | 
 | **_/flights/arrivals_**     | org.glassfish.jersey.examples.reload.ArrivalsResource     | Dummy Arrivals Information                       | GET | 
 | **_/flights/departures_**   | org.glassfish.jersey.examples.reload.DeparturesResource   | Dummy Departures Information                     | GET | 
 | **_/flights/stats_**        | org.glassfish.jersey.examples.reload.StatsResource        | Statistics on application resource utilization   | GET | 
 |  | 
 | The application gets configured via a plain text file named `resources`. | 
 | The file contains a list of resource classes to be published by the | 
 | application. After the application gets started, it watches the file system | 
 | and reloads the application as file updates are being detected. | 
 | Changes in JAX-RS resource source files and updates of the above mentioned resources file | 
 | are being detected. Java code re-compilation is done as required. | 
 |  | 
 | Running the Example | 
 | ------------------- | 
 |  | 
 | Run the example as follows: | 
 |  | 
 | >     mvn clean compile exec:java | 
 |  | 
 | This deploys current example using[Grizzly | 
 | container](https://projects.eclipse.org/projects/ee4j.grizzly). StatsResource should be available | 
 | at <http://localhost:8080/flights/stats> | 
 |  | 
 | You may want to check the other resources as well: | 
 |  | 
 | -   <http://localhost:8080/flights/departures> | 
 | -   <http://localhost:8080/flights/arrivals> | 
 |  | 
 | Updated information on number of hits should be available at | 
 | <http://localhost:8080/flights/stats>. | 
 | Now you can try to edit the `resources` file and comment the stats | 
 | resource out by using the `#` prefix. The point is you leave the | 
 | application running while editing the file. The changes wil get picked | 
 | up automatically. No need to manually restart the application. The | 
 | `resource` file content should now look like follows: | 
 |  | 
 |     org.glassfish.jersey.examples.reload.DeparturesResource | 
 |     org.glassfish.jersey.examples.reload.ArrivalsResource | 
 |     #org.glassfish.jersey.examples.reload.StatsResource | 
 |  | 
 | Once you save the change, the stats resource should not be available, | 
 | but the other, departures/arrivals, resources should remain functional. | 
 |  | 
 | Now you can revert the change back and check the stats resource is back | 
 | providing actual statistics information. | 
 |  | 
 | You can also try to change the JAX-RS resources source code. These changes | 
 | will be also picked up automatically. |