juneau-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From jamesbog...@apache.org
Subject [juneau-website] branch asf-site updated: Javadocs.
Date Sun, 09 Dec 2018 14:56:09 GMT
This is an automated email from the ASF dual-hosted git repository.

jamesbognar pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/juneau-website.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new 7a411df  Javadocs.
7a411df is described below

commit 7a411df6191286446c4b9eed94d7d2b3421671bc
Author: JamesBognar <jamesbognar@apache.org>
AuthorDate: Sun Dec 9 09:55:54 2018 -0500

    Javadocs.
---
 content/site/apidocs-8.0.0/index-all.html          |   52 +-
 .../juneau/examples/core/json/package-summary.html |    9 +
 .../juneau/examples/core/pojo/package-summary.html |    9 +
 .../juneau/examples/core/rdf/package-summary.html  |    9 +
 .../juneau/examples/core/svl/package-summary.html  |    9 +
 .../juneau/examples/core/xml/package-summary.html  |    9 +
 .../examples/rest/command/package-summary.html     |    9 +
 .../juneau/examples/rest/dto/package-summary.html  |    9 +
 .../examples/rest/jetty/package-summary.html       |    9 +
 .../juneau/examples/rest/package-summary.html      |    9 +
 .../rest/petstore/dto/package-summary.html         |    9 +
 .../examples/rest/petstore/package-summary.html    |    9 +
 .../rest/petstore/rest/package-summary.html        |    9 +
 .../examples/rest/springboot/package-summary.html  |    9 +
 .../juneau/microservice/MicroserviceBuilder.html   |   46 +-
 .../jetty/JettyMicroserviceBuilder.html            |   28 +-
 .../org/apache/juneau/svl/vars/ArgsVar.html        |    2 +-
 content/site/apidocs-8.0.0/overview-summary.html   | 1275 ++++++++------------
 content/site/apidocs-8.0.0/resources/docs.txt      |   19 +-
 .../apidocs-8.0.0/resources/fragments/toc.html     |   31 +-
 .../juneau/microservice/MicroserviceBuilder.html   |  312 ++---
 .../org/apache/juneau/svl/vars/ArgsVar.html        |    2 +-
 22 files changed, 869 insertions(+), 1015 deletions(-)

diff --git a/content/site/apidocs-8.0.0/index-all.html b/content/site/apidocs-8.0.0/index-all.html
index 0621a6f..c0f402a 100644
--- a/content/site/apidocs-8.0.0/index-all.html
+++ b/content/site/apidocs-8.0.0/index-all.html
@@ -28813,31 +28813,57 @@
 <div class="block">Encoders</div>
 </dd>
 <dt><a href="org/apache/juneau/examples/core/json/package-summary.html">org.apache.juneau.examples.core.json</a> - package org.apache.juneau.examples.core.json</dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block">Examples</div>
+</dd>
 <dt><a href="org/apache/juneau/examples/core/pojo/package-summary.html">org.apache.juneau.examples.core.pojo</a> - package org.apache.juneau.examples.core.pojo</dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block">Examples</div>
+</dd>
 <dt><a href="org/apache/juneau/examples/core/rdf/package-summary.html">org.apache.juneau.examples.core.rdf</a> - package org.apache.juneau.examples.core.rdf</dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block">Examples</div>
+</dd>
 <dt><a href="org/apache/juneau/examples/core/svl/package-summary.html">org.apache.juneau.examples.core.svl</a> - package org.apache.juneau.examples.core.svl</dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block">Examples</div>
+</dd>
 <dt><a href="org/apache/juneau/examples/core/xml/package-summary.html">org.apache.juneau.examples.core.xml</a> - package org.apache.juneau.examples.core.xml</dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block">Examples</div>
+</dd>
 <dt><a href="org/apache/juneau/examples/rest/package-summary.html">org.apache.juneau.examples.rest</a> - package org.apache.juneau.examples.rest</dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block">Examples</div>
+</dd>
 <dt><a href="org/apache/juneau/examples/rest/command/package-summary.html">org.apache.juneau.examples.rest.command</a> - package org.apache.juneau.examples.rest.command</dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block">Examples</div>
+</dd>
 <dt><a href="org/apache/juneau/examples/rest/dto/package-summary.html">org.apache.juneau.examples.rest.dto</a> - package org.apache.juneau.examples.rest.dto</dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block">Examples</div>
+</dd>
 <dt><a href="org/apache/juneau/examples/rest/jetty/package-summary.html">org.apache.juneau.examples.rest.jetty</a> - package org.apache.juneau.examples.rest.jetty</dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block">Examples</div>
+</dd>
 <dt><a href="org/apache/juneau/examples/rest/petstore/package-summary.html">org.apache.juneau.examples.rest.petstore</a> - package org.apache.juneau.examples.rest.petstore</dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block">Examples</div>
+</dd>
 <dt><a href="org/apache/juneau/examples/rest/petstore/dto/package-summary.html">org.apache.juneau.examples.rest.petstore.dto</a> - package org.apache.juneau.examples.rest.petstore.dto</dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block">Examples</div>
+</dd>
 <dt><a href="org/apache/juneau/examples/rest/petstore/rest/package-summary.html">org.apache.juneau.examples.rest.petstore.rest</a> - package org.apache.juneau.examples.rest.petstore.rest</dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block">Examples</div>
+</dd>
 <dt><a href="org/apache/juneau/examples/rest/springboot/package-summary.html">org.apache.juneau.examples.rest.springboot</a> - package org.apache.juneau.examples.rest.springboot</dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block">Examples</div>
+</dd>
 <dt><a href="org/apache/juneau/html/package-summary.html">org.apache.juneau.html</a> - package org.apache.juneau.html</dt>
 <dd>
 <div class="block">HTML Marshalling Support</div>
diff --git a/content/site/apidocs-8.0.0/org/apache/juneau/examples/core/json/package-summary.html b/content/site/apidocs-8.0.0/org/apache/juneau/examples/core/json/package-summary.html
index 144dd1f..6fe30aa 100644
--- a/content/site/apidocs-8.0.0/org/apache/juneau/examples/core/json/package-summary.html
+++ b/content/site/apidocs-8.0.0/org/apache/juneau/examples/core/json/package-summary.html
@@ -70,6 +70,10 @@
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
 <h1 title="Package" class="title">Package&nbsp;org.apache.juneau.examples.core.json</h1>
+<div class="docSummary">
+<div class="block">Examples</div>
+</div>
+<p>See:&nbsp;<a href="#package.description">Description</a></p>
 </div>
 <div class="contentContainer">
 <ul class="blockList">
@@ -103,6 +107,11 @@
 </table>
 </li>
 </ul>
+<a name="package.description">
+<!--   -->
+</a>
+<h2 title="Package org.apache.juneau.examples.core.json Description">Package org.apache.juneau.examples.core.json Description</h2>
+<div class="block">Examples</div>
 </div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
diff --git a/content/site/apidocs-8.0.0/org/apache/juneau/examples/core/pojo/package-summary.html b/content/site/apidocs-8.0.0/org/apache/juneau/examples/core/pojo/package-summary.html
index 9d3fed5..71385ea 100644
--- a/content/site/apidocs-8.0.0/org/apache/juneau/examples/core/pojo/package-summary.html
+++ b/content/site/apidocs-8.0.0/org/apache/juneau/examples/core/pojo/package-summary.html
@@ -70,6 +70,10 @@
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
 <h1 title="Package" class="title">Package&nbsp;org.apache.juneau.examples.core.pojo</h1>
+<div class="docSummary">
+<div class="block">Examples</div>
+</div>
+<p>See:&nbsp;<a href="#package.description">Description</a></p>
 </div>
 <div class="contentContainer">
 <ul class="blockList">
@@ -97,6 +101,11 @@
 </table>
 </li>
 </ul>
+<a name="package.description">
+<!--   -->
+</a>
+<h2 title="Package org.apache.juneau.examples.core.pojo Description">Package org.apache.juneau.examples.core.pojo Description</h2>
+<div class="block">Examples</div>
 </div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
diff --git a/content/site/apidocs-8.0.0/org/apache/juneau/examples/core/rdf/package-summary.html b/content/site/apidocs-8.0.0/org/apache/juneau/examples/core/rdf/package-summary.html
index 2d12b1c..16161e2 100644
--- a/content/site/apidocs-8.0.0/org/apache/juneau/examples/core/rdf/package-summary.html
+++ b/content/site/apidocs-8.0.0/org/apache/juneau/examples/core/rdf/package-summary.html
@@ -70,6 +70,10 @@
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
 <h1 title="Package" class="title">Package&nbsp;org.apache.juneau.examples.core.rdf</h1>
+<div class="docSummary">
+<div class="block">Examples</div>
+</div>
+<p>See:&nbsp;<a href="#package.description">Description</a></p>
 </div>
 <div class="contentContainer">
 <ul class="blockList">
@@ -95,6 +99,11 @@
 </table>
 </li>
 </ul>
+<a name="package.description">
+<!--   -->
+</a>
+<h2 title="Package org.apache.juneau.examples.core.rdf Description">Package org.apache.juneau.examples.core.rdf Description</h2>
+<div class="block">Examples</div>
 </div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
diff --git a/content/site/apidocs-8.0.0/org/apache/juneau/examples/core/svl/package-summary.html b/content/site/apidocs-8.0.0/org/apache/juneau/examples/core/svl/package-summary.html
index abb49ed..8d90da2 100644
--- a/content/site/apidocs-8.0.0/org/apache/juneau/examples/core/svl/package-summary.html
+++ b/content/site/apidocs-8.0.0/org/apache/juneau/examples/core/svl/package-summary.html
@@ -70,6 +70,10 @@
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
 <h1 title="Package" class="title">Package&nbsp;org.apache.juneau.examples.core.svl</h1>
+<div class="docSummary">
+<div class="block">Examples</div>
+</div>
+<p>See:&nbsp;<a href="#package.description">Description</a></p>
 </div>
 <div class="contentContainer">
 <ul class="blockList">
@@ -91,6 +95,11 @@
 </table>
 </li>
 </ul>
+<a name="package.description">
+<!--   -->
+</a>
+<h2 title="Package org.apache.juneau.examples.core.svl Description">Package org.apache.juneau.examples.core.svl Description</h2>
+<div class="block">Examples</div>
 </div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
diff --git a/content/site/apidocs-8.0.0/org/apache/juneau/examples/core/xml/package-summary.html b/content/site/apidocs-8.0.0/org/apache/juneau/examples/core/xml/package-summary.html
index f34f3c3..266f133 100644
--- a/content/site/apidocs-8.0.0/org/apache/juneau/examples/core/xml/package-summary.html
+++ b/content/site/apidocs-8.0.0/org/apache/juneau/examples/core/xml/package-summary.html
@@ -70,6 +70,10 @@
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
 <h1 title="Package" class="title">Package&nbsp;org.apache.juneau.examples.core.xml</h1>
+<div class="docSummary">
+<div class="block">Examples</div>
+</div>
+<p>See:&nbsp;<a href="#package.description">Description</a></p>
 </div>
 <div class="contentContainer">
 <ul class="blockList">
@@ -97,6 +101,11 @@
 </table>
 </li>
 </ul>
+<a name="package.description">
+<!--   -->
+</a>
+<h2 title="Package org.apache.juneau.examples.core.xml Description">Package org.apache.juneau.examples.core.xml Description</h2>
+<div class="block">Examples</div>
 </div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
diff --git a/content/site/apidocs-8.0.0/org/apache/juneau/examples/rest/command/package-summary.html b/content/site/apidocs-8.0.0/org/apache/juneau/examples/rest/command/package-summary.html
index 9c49e5f..2507e25 100644
--- a/content/site/apidocs-8.0.0/org/apache/juneau/examples/rest/command/package-summary.html
+++ b/content/site/apidocs-8.0.0/org/apache/juneau/examples/rest/command/package-summary.html
@@ -70,6 +70,10 @@
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
 <h1 title="Package" class="title">Package&nbsp;org.apache.juneau.examples.rest.command</h1>
+<div class="docSummary">
+<div class="block">Examples</div>
+</div>
+<p>See:&nbsp;<a href="#package.description">Description</a></p>
 </div>
 <div class="contentContainer">
 <ul class="blockList">
@@ -91,6 +95,11 @@
 </table>
 </li>
 </ul>
+<a name="package.description">
+<!--   -->
+</a>
+<h2 title="Package org.apache.juneau.examples.rest.command Description">Package org.apache.juneau.examples.rest.command Description</h2>
+<div class="block">Examples</div>
 </div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
diff --git a/content/site/apidocs-8.0.0/org/apache/juneau/examples/rest/dto/package-summary.html b/content/site/apidocs-8.0.0/org/apache/juneau/examples/rest/dto/package-summary.html
index 54c83c2..0206c0f 100644
--- a/content/site/apidocs-8.0.0/org/apache/juneau/examples/rest/dto/package-summary.html
+++ b/content/site/apidocs-8.0.0/org/apache/juneau/examples/rest/dto/package-summary.html
@@ -70,6 +70,10 @@
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
 <h1 title="Package" class="title">Package&nbsp;org.apache.juneau.examples.rest.dto</h1>
+<div class="docSummary">
+<div class="block">Examples</div>
+</div>
+<p>See:&nbsp;<a href="#package.description">Description</a></p>
 </div>
 <div class="contentContainer">
 <ul class="blockList">
@@ -109,6 +113,11 @@
 </table>
 </li>
 </ul>
+<a name="package.description">
+<!--   -->
+</a>
+<h2 title="Package org.apache.juneau.examples.rest.dto Description">Package org.apache.juneau.examples.rest.dto Description</h2>
+<div class="block">Examples</div>
 </div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
diff --git a/content/site/apidocs-8.0.0/org/apache/juneau/examples/rest/jetty/package-summary.html b/content/site/apidocs-8.0.0/org/apache/juneau/examples/rest/jetty/package-summary.html
index e7ce0a7..647ade3 100644
--- a/content/site/apidocs-8.0.0/org/apache/juneau/examples/rest/jetty/package-summary.html
+++ b/content/site/apidocs-8.0.0/org/apache/juneau/examples/rest/jetty/package-summary.html
@@ -70,6 +70,10 @@
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
 <h1 title="Package" class="title">Package&nbsp;org.apache.juneau.examples.rest.jetty</h1>
+<div class="docSummary">
+<div class="block">Examples</div>
+</div>
+<p>See:&nbsp;<a href="#package.description">Description</a></p>
 </div>
 <div class="contentContainer">
 <ul class="blockList">
@@ -91,6 +95,11 @@
 </table>
 </li>
 </ul>
+<a name="package.description">
+<!--   -->
+</a>
+<h2 title="Package org.apache.juneau.examples.rest.jetty Description">Package org.apache.juneau.examples.rest.jetty Description</h2>
+<div class="block">Examples</div>
 </div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
diff --git a/content/site/apidocs-8.0.0/org/apache/juneau/examples/rest/package-summary.html b/content/site/apidocs-8.0.0/org/apache/juneau/examples/rest/package-summary.html
index 2282e9a..5d1ee4d 100644
--- a/content/site/apidocs-8.0.0/org/apache/juneau/examples/rest/package-summary.html
+++ b/content/site/apidocs-8.0.0/org/apache/juneau/examples/rest/package-summary.html
@@ -70,6 +70,10 @@
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
 <h1 title="Package" class="title">Package&nbsp;org.apache.juneau.examples.rest</h1>
+<div class="docSummary">
+<div class="block">Examples</div>
+</div>
+<p>See:&nbsp;<a href="#package.description">Description</a></p>
 </div>
 <div class="contentContainer">
 <ul class="blockList">
@@ -109,6 +113,11 @@
 </table>
 </li>
 </ul>
+<a name="package.description">
+<!--   -->
+</a>
+<h2 title="Package org.apache.juneau.examples.rest Description">Package org.apache.juneau.examples.rest Description</h2>
+<div class="block">Examples</div>
 </div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
diff --git a/content/site/apidocs-8.0.0/org/apache/juneau/examples/rest/petstore/dto/package-summary.html b/content/site/apidocs-8.0.0/org/apache/juneau/examples/rest/petstore/dto/package-summary.html
index 98449de..5318d85 100644
--- a/content/site/apidocs-8.0.0/org/apache/juneau/examples/rest/petstore/dto/package-summary.html
+++ b/content/site/apidocs-8.0.0/org/apache/juneau/examples/rest/petstore/dto/package-summary.html
@@ -70,6 +70,10 @@
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
 <h1 title="Package" class="title">Package&nbsp;org.apache.juneau.examples.rest.petstore.dto</h1>
+<div class="docSummary">
+<div class="block">Examples</div>
+</div>
+<p>See:&nbsp;<a href="#package.description">Description</a></p>
 </div>
 <div class="contentContainer">
 <ul class="blockList">
@@ -172,6 +176,11 @@
 </table>
 </li>
 </ul>
+<a name="package.description">
+<!--   -->
+</a>
+<h2 title="Package org.apache.juneau.examples.rest.petstore.dto Description">Package org.apache.juneau.examples.rest.petstore.dto Description</h2>
+<div class="block">Examples</div>
 </div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
diff --git a/content/site/apidocs-8.0.0/org/apache/juneau/examples/rest/petstore/package-summary.html b/content/site/apidocs-8.0.0/org/apache/juneau/examples/rest/petstore/package-summary.html
index edd6b29..64853ae 100644
--- a/content/site/apidocs-8.0.0/org/apache/juneau/examples/rest/petstore/package-summary.html
+++ b/content/site/apidocs-8.0.0/org/apache/juneau/examples/rest/petstore/package-summary.html
@@ -70,6 +70,10 @@
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
 <h1 title="Package" class="title">Package&nbsp;org.apache.juneau.examples.rest.petstore</h1>
+<div class="docSummary">
+<div class="block">Examples</div>
+</div>
+<p>See:&nbsp;<a href="#package.description">Description</a></p>
 </div>
 <div class="contentContainer">
 <ul class="blockList">
@@ -154,6 +158,11 @@
 </table>
 </li>
 </ul>
+<a name="package.description">
+<!--   -->
+</a>
+<h2 title="Package org.apache.juneau.examples.rest.petstore Description">Package org.apache.juneau.examples.rest.petstore Description</h2>
+<div class="block">Examples</div>
 </div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
diff --git a/content/site/apidocs-8.0.0/org/apache/juneau/examples/rest/petstore/rest/package-summary.html b/content/site/apidocs-8.0.0/org/apache/juneau/examples/rest/petstore/rest/package-summary.html
index a4270fa..aede940 100644
--- a/content/site/apidocs-8.0.0/org/apache/juneau/examples/rest/petstore/rest/package-summary.html
+++ b/content/site/apidocs-8.0.0/org/apache/juneau/examples/rest/petstore/rest/package-summary.html
@@ -70,6 +70,10 @@
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
 <h1 title="Package" class="title">Package&nbsp;org.apache.juneau.examples.rest.petstore.rest</h1>
+<div class="docSummary">
+<div class="block">Examples</div>
+</div>
+<p>See:&nbsp;<a href="#package.description">Description</a></p>
 </div>
 <div class="contentContainer">
 <ul class="blockList">
@@ -162,6 +166,11 @@
 </table>
 </li>
 </ul>
+<a name="package.description">
+<!--   -->
+</a>
+<h2 title="Package org.apache.juneau.examples.rest.petstore.rest Description">Package org.apache.juneau.examples.rest.petstore.rest Description</h2>
+<div class="block">Examples</div>
 </div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
diff --git a/content/site/apidocs-8.0.0/org/apache/juneau/examples/rest/springboot/package-summary.html b/content/site/apidocs-8.0.0/org/apache/juneau/examples/rest/springboot/package-summary.html
index 4771854..d3d690b 100644
--- a/content/site/apidocs-8.0.0/org/apache/juneau/examples/rest/springboot/package-summary.html
+++ b/content/site/apidocs-8.0.0/org/apache/juneau/examples/rest/springboot/package-summary.html
@@ -70,6 +70,10 @@
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
 <h1 title="Package" class="title">Package&nbsp;org.apache.juneau.examples.rest.springboot</h1>
+<div class="docSummary">
+<div class="block">Examples</div>
+</div>
+<p>See:&nbsp;<a href="#package.description">Description</a></p>
 </div>
 <div class="contentContainer">
 <ul class="blockList">
@@ -91,6 +95,11 @@
 </table>
 </li>
 </ul>
+<a name="package.description">
+<!--   -->
+</a>
+<h2 title="Package org.apache.juneau.examples.rest.springboot Description">Package org.apache.juneau.examples.rest.springboot Description</h2>
+<div class="block">Examples</div>
 </div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
diff --git a/content/site/apidocs-8.0.0/org/apache/juneau/microservice/MicroserviceBuilder.html b/content/site/apidocs-8.0.0/org/apache/juneau/microservice/MicroserviceBuilder.html
index c0068e3..40b2ac0 100644
--- a/content/site/apidocs-8.0.0/org/apache/juneau/microservice/MicroserviceBuilder.html
+++ b/content/site/apidocs-8.0.0/org/apache/juneau/microservice/MicroserviceBuilder.html
@@ -500,27 +500,31 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>configName</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/microservice/MicroserviceBuilder.html" title="class in org.apache.juneau.microservice">MicroserviceBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/microservice/MicroserviceBuilder.html#line.248">configName</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;configName)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/microservice/MicroserviceBuilder.html" title="class in org.apache.juneau.microservice">MicroserviceBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/microservice/MicroserviceBuilder.html#line.252">configName</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;configName)</pre>
 <div class="block">Specifies the config name for initializing this microservice.
 
  <p>
- By default, we use a <a href="../../../../org/apache/juneau/config/store/ConfigFileStore.html" title="class in org.apache.juneau.config.store"><code>ConfigFileStore</code></a> store for configuration files.
- If the store is not overridden, then the config name represents the path of the configuration file relative to the
- JVM working directory.
-
- <p>
  If you do not specify the config file location, we attempt to resolve it through the following methods:
  <ol class='spaced-list'>
    <li>
-      The <js>"configFile"</js> argument in the command line arguments passed in through the constructor.
-   <li>
-      The value of the <code>Main-Config</code> entry in the manifest file.
+      Resolve file first in working directory, then in classpath, using the following names:
+      <ul>
+         <li>
+            The <js>"configFile"</js> argument in the command line arguments passed in through the constructor.
+         <li>
+            The value of the <code>Main-Config</code> entry in the manifest file.
+         <li>
+            A config file in the same location and with the same name as the executable jar file.
+            (e.g. <js>"java -jar myjar.jar"</js> will look for <js>"myjar.cfg"</js>).
+      </ul>
    <li>
-      A config file in the same location and with the same name as the executable jar file.
-      (e.g. <js>"java -jar myjar.jar"</js> will look for <js>"myjar.cfg"</js>).
+      Resolve any <js>"*.cfg"</js> file that can be found in the working directory.
    <li>
-      Any other <js>"*.cfg"</js> file that can be found in the working directory.
- </ol></div>
+      Resolve any of the following files in the classpath:  <js>"juneau.cfg"</js>, <js>"system.cfg"</js>
+ </ol>
+
+ <p>
+ If no configuration file is found, and empty in-memory configuration is used.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>configName</code> - The configuration name.</dd>
@@ -535,7 +539,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>configStore</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/microservice/MicroserviceBuilder.html" title="class in org.apache.juneau.microservice">MicroserviceBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/microservice/MicroserviceBuilder.html#line.262">configStore</a>(<a href="../../../../org/apache/juneau/config/store/ConfigStore.html" title="class in org.apache.juneau.config.store">ConfigStore</a>&nbsp;configStore)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/microservice/MicroserviceBuilder.html" title="class in org.apache.juneau.microservice">MicroserviceBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/microservice/MicroserviceBuilder.html#line.266">configStore</a>(<a href="../../../../org/apache/juneau/config/store/ConfigStore.html" title="class in org.apache.juneau.config.store">ConfigStore</a>&nbsp;configStore)</pre>
 <div class="block">Specifies the config store to use for storing and retrieving configurations.
 
  <p>
@@ -554,7 +558,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>consoleEnabled</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/microservice/MicroserviceBuilder.html" title="class in org.apache.juneau.microservice">MicroserviceBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/microservice/MicroserviceBuilder.html#line.277">consoleEnabled</a>(boolean&nbsp;consoleEnabled)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/microservice/MicroserviceBuilder.html" title="class in org.apache.juneau.microservice">MicroserviceBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/microservice/MicroserviceBuilder.html#line.281">consoleEnabled</a>(boolean&nbsp;consoleEnabled)</pre>
 <div class="block">Specifies that the Java console is enabled for this microservice.
 
  <p>
@@ -574,7 +578,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>consoleCommands</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/microservice/MicroserviceBuilder.html" title="class in org.apache.juneau.microservice">MicroserviceBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/microservice/MicroserviceBuilder.html#line.300">consoleCommands</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../org/apache/juneau/microservice/ [...]
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/microservice/MicroserviceBuilder.html" title="class in org.apache.juneau.microservice">MicroserviceBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/microservice/MicroserviceBuilder.html#line.304">consoleCommands</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../org/apache/juneau/microservice/ [...]
                                     throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/InstantiationException.html?is-external=true" title="class or interface in java.lang">InstantiationException</a>,
                                            <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalAccessException.html?is-external=true" title="class or interface in java.lang">IllegalAccessException</a></pre>
 <div class="block">Specifies console commands to make available on the Java console.
@@ -604,7 +608,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>consoleCommands</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/microservice/MicroserviceBuilder.html" title="class in org.apache.juneau.microservice">MicroserviceBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/microservice/MicroserviceBuilder.html#line.318">consoleCommands</a>(<a href="../../../../org/apache/juneau/microservice/console/ConsoleCommand.html" title="class in org.apache.juneau.microservice.console">ConsoleCommand</a>...&nbsp;consoleCommands)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/microservice/MicroserviceBuilder.html" title="class in org.apache.juneau.microservice">MicroserviceBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/microservice/MicroserviceBuilder.html#line.322">consoleCommands</a>(<a href="../../../../org/apache/juneau/microservice/console/ConsoleCommand.html" title="class in org.apache.juneau.microservice.console">ConsoleCommand</a>...&nbsp;consoleCommands)</pre>
 <div class="block">Specifies console commands to make available on the Java console.
 
  <p>
@@ -626,7 +630,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>console</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/microservice/MicroserviceBuilder.html" title="class in org.apache.juneau.microservice">MicroserviceBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/microservice/MicroserviceBuilder.html#line.337">console</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Scanner.html?is-external=true" title="class or interface in java.util">Scanner</a>&nbsp;consoleReader,
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/microservice/MicroserviceBuilder.html" title="class in org.apache.juneau.microservice">MicroserviceBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/microservice/MicroserviceBuilder.html#line.341">console</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Scanner.html?is-external=true" title="class or interface in java.util">Scanner</a>&nbsp;consoleReader,
                                    <a href="http://docs.oracle.com/javase/8/docs/api/java/io/PrintWriter.html?is-external=true" title="class or interface in java.io">PrintWriter</a>&nbsp;consoleWriter)</pre>
 <div class="block">Specifies the console input and output.
 
@@ -651,7 +655,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>vars</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/microservice/MicroserviceBuilder.html" title="class in org.apache.juneau.microservice">MicroserviceBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/microservice/MicroserviceBuilder.html#line.354">vars</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../org/apache/juneau/svl/Var.html" title="cla [...]
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/microservice/MicroserviceBuilder.html" title="class in org.apache.juneau.microservice">MicroserviceBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/microservice/MicroserviceBuilder.html#line.358">vars</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../org/apache/juneau/svl/Var.html" title="cla [...]
 <div class="block">Augments the set of variables defined in the configuration and var resolver.
 
  <p>
@@ -671,7 +675,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>varContext</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/microservice/MicroserviceBuilder.html" title="class in org.apache.juneau.microservice">MicroserviceBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/microservice/MicroserviceBuilder.html#line.370">varContext</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/microservice/MicroserviceBuilder.html" title="class in org.apache.juneau.microservice">MicroserviceBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/microservice/MicroserviceBuilder.html#line.374">varContext</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
                                       <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;object)</pre>
 <div class="block">Adds a var resolver context object for vars defined in the configuration and var resolver.
 
@@ -693,7 +697,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>listener</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/microservice/MicroserviceBuilder.html" title="class in org.apache.juneau.microservice">MicroserviceBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/microservice/MicroserviceBuilder.html#line.381">listener</a>(<a href="../../../../org/apache/juneau/microservice/MicroserviceListener.html" title="interface in org.apache.juneau.microservice">MicroserviceListener</a>&nbsp;listener)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/microservice/MicroserviceBuilder.html" title="class in org.apache.juneau.microservice">MicroserviceBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/microservice/MicroserviceBuilder.html#line.385">listener</a>(<a href="../../../../org/apache/juneau/microservice/MicroserviceListener.html" title="interface in org.apache.juneau.microservice">MicroserviceListener</a>&nbsp;listener)</pre>
 <div class="block">Registers an event listener for this microservice.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
diff --git a/content/site/apidocs-8.0.0/org/apache/juneau/microservice/jetty/JettyMicroserviceBuilder.html b/content/site/apidocs-8.0.0/org/apache/juneau/microservice/jetty/JettyMicroserviceBuilder.html
index 3f9f0af..cf30cce 100644
--- a/content/site/apidocs-8.0.0/org/apache/juneau/microservice/jetty/JettyMicroserviceBuilder.html
+++ b/content/site/apidocs-8.0.0/org/apache/juneau/microservice/jetty/JettyMicroserviceBuilder.html
@@ -807,23 +807,27 @@ extends <a href="../../../../../org/apache/juneau/microservice/MicroserviceBuild
 <div class="block">Specifies the config name for initializing this microservice.
 
  <p>
- By default, we use a <a href="../../../../../org/apache/juneau/config/store/ConfigFileStore.html" title="class in org.apache.juneau.config.store"><code>ConfigFileStore</code></a> store for configuration files.
- If the store is not overridden, then the config name represents the path of the configuration file relative to the
- JVM working directory.
-
- <p>
  If you do not specify the config file location, we attempt to resolve it through the following methods:
  <ol class='spaced-list'>
    <li>
-      The <js>"configFile"</js> argument in the command line arguments passed in through the constructor.
-   <li>
-      The value of the <code>Main-Config</code> entry in the manifest file.
+      Resolve file first in working directory, then in classpath, using the following names:
+      <ul>
+         <li>
+            The <js>"configFile"</js> argument in the command line arguments passed in through the constructor.
+         <li>
+            The value of the <code>Main-Config</code> entry in the manifest file.
+         <li>
+            A config file in the same location and with the same name as the executable jar file.
+            (e.g. <js>"java -jar myjar.jar"</js> will look for <js>"myjar.cfg"</js>).
+      </ul>
    <li>
-      A config file in the same location and with the same name as the executable jar file.
-      (e.g. <js>"java -jar myjar.jar"</js> will look for <js>"myjar.cfg"</js>).
+      Resolve any <js>"*.cfg"</js> file that can be found in the working directory.
    <li>
-      Any other <js>"*.cfg"</js> file that can be found in the working directory.
- </ol></div>
+      Resolve any of the following files in the classpath:  <js>"juneau.cfg"</js>, <js>"system.cfg"</js>
+ </ol>
+
+ <p>
+ If no configuration file is found, and empty in-memory configuration is used.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
 <dd><code><a href="../../../../../org/apache/juneau/microservice/MicroserviceBuilder.html#configName-java.lang.String-">configName</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/juneau/microservice/MicroserviceBuilder.html" title="class in org.apache.juneau.microservice">MicroserviceBuilder</a></code></dd>
diff --git a/content/site/apidocs-8.0.0/org/apache/juneau/svl/vars/ArgsVar.html b/content/site/apidocs-8.0.0/org/apache/juneau/svl/vars/ArgsVar.html
index d1e1410..486fb09 100644
--- a/content/site/apidocs-8.0.0/org/apache/juneau/svl/vars/ArgsVar.html
+++ b/content/site/apidocs-8.0.0/org/apache/juneau/svl/vars/ArgsVar.html
@@ -149,7 +149,7 @@ extends <a href="../../../../../org/apache/juneau/svl/DefaultingVar.html" title=
    VarResolver r = <jk>new</jk> VarResolver().addVars(ArgsVar.<js>class</js>);
 
    <jc>// Use it!</jc>
-   System.<jsf>out</jsf>.println(r.resolve(<js>"Arg #1 is set to $A{1}"</js>));
+   System.<jsf>out</jsf>.println(r.resolve(<js>"Arg #1 is set to $ARGS{1}"</js>));
  </p>
 
  <p>
diff --git a/content/site/apidocs-8.0.0/overview-summary.html b/content/site/apidocs-8.0.0/overview-summary.html
index f55b7fb..e1c364c 100644
--- a/content/site/apidocs-8.0.0/overview-summary.html
+++ b/content/site/apidocs-8.0.0/overview-summary.html
@@ -189,55 +189,81 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><a href="org/apache/juneau/examples/core/json/package-summary.html">org.apache.juneau.examples.core.json</a></td>
-<td class="colLast">&nbsp;</td>
+<td class="colLast">
+<div class="block">Examples</div>
+</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><a href="org/apache/juneau/examples/core/pojo/package-summary.html">org.apache.juneau.examples.core.pojo</a></td>
-<td class="colLast">&nbsp;</td>
+<td class="colLast">
+<div class="block">Examples</div>
+</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><a href="org/apache/juneau/examples/core/rdf/package-summary.html">org.apache.juneau.examples.core.rdf</a></td>
-<td class="colLast">&nbsp;</td>
+<td class="colLast">
+<div class="block">Examples</div>
+</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><a href="org/apache/juneau/examples/core/svl/package-summary.html">org.apache.juneau.examples.core.svl</a></td>
-<td class="colLast">&nbsp;</td>
+<td class="colLast">
+<div class="block">Examples</div>
+</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><a href="org/apache/juneau/examples/core/xml/package-summary.html">org.apache.juneau.examples.core.xml</a></td>
-<td class="colLast">&nbsp;</td>
+<td class="colLast">
+<div class="block">Examples</div>
+</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><a href="org/apache/juneau/examples/rest/package-summary.html">org.apache.juneau.examples.rest</a></td>
-<td class="colLast">&nbsp;</td>
+<td class="colLast">
+<div class="block">Examples</div>
+</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><a href="org/apache/juneau/examples/rest/command/package-summary.html">org.apache.juneau.examples.rest.command</a></td>
-<td class="colLast">&nbsp;</td>
+<td class="colLast">
+<div class="block">Examples</div>
+</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><a href="org/apache/juneau/examples/rest/dto/package-summary.html">org.apache.juneau.examples.rest.dto</a></td>
-<td class="colLast">&nbsp;</td>
+<td class="colLast">
+<div class="block">Examples</div>
+</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><a href="org/apache/juneau/examples/rest/jetty/package-summary.html">org.apache.juneau.examples.rest.jetty</a></td>
-<td class="colLast">&nbsp;</td>
+<td class="colLast">
+<div class="block">Examples</div>
+</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><a href="org/apache/juneau/examples/rest/petstore/package-summary.html">org.apache.juneau.examples.rest.petstore</a></td>
-<td class="colLast">&nbsp;</td>
+<td class="colLast">
+<div class="block">Examples</div>
+</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><a href="org/apache/juneau/examples/rest/petstore/dto/package-summary.html">org.apache.juneau.examples.rest.petstore.dto</a></td>
-<td class="colLast">&nbsp;</td>
+<td class="colLast">
+<div class="block">Examples</div>
+</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><a href="org/apache/juneau/examples/rest/petstore/rest/package-summary.html">org.apache.juneau.examples.rest.petstore.rest</a></td>
-<td class="colLast">&nbsp;</td>
+<td class="colLast">
+<div class="block">Examples</div>
+</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><a href="org/apache/juneau/examples/rest/springboot/package-summary.html">org.apache.juneau.examples.rest.springboot</a></td>
-<td class="colLast">&nbsp;</td>
+<td class="colLast">
+<div class="block">Examples</div>
+</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><a href="org/apache/juneau/html/package-summary.html">org.apache.juneau.html</a></td>
@@ -966,30 +992,17 @@
       <li><p class=''><a class='doclink' href='#juneau-rest-client.UnitTesting'>Serverless Unit Testing</a></p>
       <li><p class=''><a class='doclink' href='#juneau-rest-client.Other'>Other Useful Methods</a></p>
    </ol>
-   <li><p class='toc2 todo'><a class='doclink' href='#juneau-microservice-core'>juneau-microservice-core</a></p>
+   <li><p class='toc2 new'><a class='doclink' href='#juneau-microservice-core'>juneau-microservice-core</a></p>
    <ol>
       <li><p class='todo'><a class='doclink' href='#juneau-microservice-core.Overview'>Microservice Overview</a></p>
-      <li><p class='todo'><a class='doclink' href='#juneau-microservice-core.GettingStarted'>Getting Started</a></p>
-      <ol>
-         <li><p class=''><a class='doclink' href='#juneau-microservice-core.GettingStarted.Installing'>Installing in Eclipse</a></p>
-         <li><p class=''><a class='doclink' href='#juneau-microservice-core.GettingStarted.Running'>Running in Eclipse</a></p>
-         <li><p class=''><a class='doclink' href='#juneau-microservice-core.GettingStarted.Building'>Building and Running from Command-Line</a></p>
-      </ol>
-      <li><p class='todo'><a class='doclink' href='#juneau-microservice-core.Manifest'>Manifest File</a></p>
-      <ol>
-         <li><p class=''><a class='doclink' href='#juneau-microservice-core.Manifest.ManifestApi'>Manifest API</a></p>
-      </ol>
+      <li><p class='todo'><a class='doclink' href='#juneau-microservice-core.LifecycleMethods'>Lifecycle Methods</a></p>
+      <li><p class='todo'><a class='doclink' href='#juneau-microservice-core.Args'>Args</a></p>
+      <li><p class='todo'><a class='doclink' href='#juneau-microservice-core.Manifest'>Manifest</a></p>
       <li><p class='todo'><a class='doclink' href='#juneau-microservice-core.Config'>Config</a></p>
-      <ol>
-         <li><p class=''><a class='doclink' href='#juneau-microservice-core.Config.ConfigApi'>Config File API</a></p>
-      </ol>
-      <li><p class='todo'><a class='doclink' href='#juneau-microservice-core.ResourceClasses'>Resource Classes</a></p>
-      <li><p class='todo'><a class='doclink' href='#juneau-microservice-core.PredefinedResourceClasses'>Predefined Resource Classes</a></p>
-      <li><p class='todo'><a class='doclink' href='#juneau-microservice-core.RestMicroservice'>RestMicroservice</a></p>
-      <ol>
-         <li><p class=''><a class='doclink' href='#juneau-microservice-core.RestMicroservice.Extending'>Extending RestMicroservice</a></p>
-      </ol>
-      <li><p class='todo'><a class='doclink' href='#juneau-microservice-core.UiCustomization'>UI Customization</a></p>
+      <li><p class='todo'><a class='doclink' href='#juneau-microservice-core.VarResolver'>VarResolver</a></p>
+      <li><p class='todo'><a class='doclink' href='#juneau-microservice-core.ConsoleCommands'>Console Commands</a></p>
+      <li><p class='todo'><a class='doclink' href='#juneau-microservice-core.Logging'>Logging</a></p>
+      <li><p class='todo'><a class='doclink' href='#juneau-microservice-core.Listeners'>Listeners</a></p>
    </ol>
    <li><p class='toc2 todo'><a class='doclink' href='#juneau-microservice-jetty'>juneau-microservice-jetty</a></p>
    <ol>
@@ -1019,7 +1032,7 @@
    <li><p class='toc2 todo'><a class='doclink' href='#juneau-microservice-jetty-template'>juneau-microservice-jetty-template</a></p>
    <li><p class='toc2 '><a class='doclink' href='#juneau-examples-core'>juneau-examples-core</a></p>
    <ol>
-      <li><p class=''><a class='doclink' href='#juneau-examples-core.Examples'>Examples</a></p>
+      <li><p class='todo'><a class='doclink' href='#juneau-examples-core.Examples'>Examples</a></p>
    </ol>
    <li><p class='toc2 todo'><a class='doclink' href='#juneau-examples-rest'>juneau-examples-rest</a></p>
    <ol>
@@ -24051,7 +24064,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h2 class='topic todo' onclick='toggle(this)'><a href='#juneau-microservice-core' id='juneau-microservice-core'>11 - juneau-microservice-core</a></h2>
+<h2 class='topic new' onclick='toggle(this)'><a href='#juneau-microservice-core' id='juneau-microservice-core'>11 - juneau-microservice-core</a></h2>
 <div class='topic'><!-- START: 11 - juneau-microservice-core -->
 <h5 class='figure'>Maven Dependency</h5>
 <p class='bpcode w500'>
@@ -24082,824 +24095,528 @@
 <h3 class='topic todo' onclick='toggle(this)'><a href='#juneau-microservice-core.Overview' id='juneau-microservice-core.Overview'>11.1 - Microservice Overview</a></h3>
 <div class='topic'><!-- START: 11.1 - juneau-microservice-core.Overview -->
 <p>
-   The Microservice API consists of a combination of the Juneau Core, Server, and Client APIs and an embedded
-   Eclipse Jetty Servlet Container.  
-   <br>It includes all libraries needed to execute in a Java 1.7+ environment.
+   The Microservice API consists of a base class for defining executable microservices.
 </p>
 <p>
    Features include:
 </p>
 <ul class='spaced-list'>
    <li>
-      An out-of-the-box zipped Eclipse project to get started quickly.
-   <li>
-      Packaged as a simple executable jar and configuration file.
-   <li>
-      All the power of the Juneau ecosystem for defining REST servlets and clients with the ability to 
-      serialize and parse POJOs as HTML, JSON, XML, RDF, URL-Encoding, and others.
+      A builder-based API for defining and starting microservices.
    <li>
       An extensible API that allows you to hook into various lifecycle events.
    <li>
       Simple-to-use APIs for accessing manifest file entries, command-line arguments, and external configuration 
       file properties.
-   <li>
-      Predefined REST resources for configuring microservice and accessing log files.
 </ul>
 <p>
-   The <code>juneau-microservice-server</code> library consists of the following classes:
+   The Microservice API consists of the following packages and classes:
 </p>
 <ul class='doctree'>
-   <li class='jac'>
-      <a href="org/apache/juneau/microservice/Microservice.html" title="class in org.apache.juneau.microservice"><code>Microservice</code></a> 
-      - Defines basic lifecycle methods for microservices in general.
+   <li class='jp'><a href="org/apache/juneau/microservice/package-summary.html"><code>org.apache.juneau.microservice</code></a>
       <ul>
-         <li class='jc'>
-            <code>RestMicroservice</code>
-            - Defines additional lifecycle methods for REST microservices.
-            <br>Starts up an externally-configured Jetty server, registers servlets, and sets up 
-            other features such as logging.  
+         <li class='jc'><a href="org/apache/juneau/microservice/Microservice.html" title="class in org.apache.juneau.microservice"><code>Microservice</code></a> - The base microservice class.
+         <li class='jc'><a href="org/apache/juneau/microservice/MicroserviceBuilder.html" title="class in org.apache.juneau.microservice"><code>MicroserviceBuilder</code></a> - Builder for the microservice class.
+         <li class='jic'><a href="org/apache/juneau/microservice/MicroserviceListener.html" title="interface in org.apache.juneau.microservice"><code>MicroserviceListener</code></a> - Interface for hooking into lifecyle events of the microservice.
+      </ul>
+   <li class='jp'><a href="org/apache/juneau/microservice/console/package-summary.html"><code>org.apache.juneau.microservice.console</code></a>
+      <ul>
+         <li class='jac'><a href="org/apache/juneau/microservice/console/ConsoleCommand.html" title="class in org.apache.juneau.microservice.console"><code>ConsoleCommand</code></a> - Abstract class for defining console commands.
       </ul>
 </ul>
+<p>
+   By itself the Microservice API doesn't provided much functionality, but it does provide the basis for the <a class='doclink' href='#juneau-microservice-jetty'>Jetty Microservice</a> described later.
+</p> 
+<p>
+   The most-basic creation of a microservice from an entry-point method is shown below:
+</p>  
+<p class='bpcode w800'>
+   <jk>public class</jk> App {
+      <jk>public static void</jk> main(String[] args) {
+         Microservice
+            .<jsm>create</jsm>()   <jc>// Create builder.</jc>
+            .args(args) <jc>// Pass in args.</jc>
+            .build()    <jc>// Create microservice.</jc>
+            .start()    <jc>// Start microservice.</jc>
+         ;
+      }
+   }
+</p>
+<p>
+   The classes consist of the following methods:
+</p>
+<ul class='doctree'>
+   <li class='jc'><a href="org/apache/juneau/microservice/MicroserviceBuilder.html" title="class in org.apache.juneau.microservice"><code>MicroserviceBuilder</code></a>
+   <ul>
+      <li class='jm'><a href="org/apache/juneau/microservice/MicroserviceBuilder.html#args-java.lang.String...-"><code>args(String...)</code></a> 
+      <li class='jm'><a href="org/apache/juneau/microservice/MicroserviceBuilder.html#config-org.apache.juneau.config.Config-"><code>config(Config)</code></a> 
+      <li class='jm'><a href="org/apache/juneau/microservice/MicroserviceBuilder.html#configName-java.lang.String-"><code>configName(String)</code></a> 
+      <li class='jm'><a href="org/apache/juneau/microservice/MicroserviceBuilder.html#configStore-org.apache.juneau.config.store.ConfigStore-"><code>configStore(ConfigStore)</code></a> 
+      <li class='jm'><a href="org/apache/juneau/microservice/MicroserviceBuilder.html#console-java.util.Scanner-java.io.PrintWriter-"><code>console(Scanner,PrintWriter)</code></a> 
+      <li class='jm'><a href="org/apache/juneau/microservice/MicroserviceBuilder.html#consoleCommands-org.apache.juneau.microservice.console.ConsoleCommand...-"><code>consoleCommands(ConsoleCommand...)</code></a> 
+      <li class='jm'><a href="org/apache/juneau/microservice/MicroserviceBuilder.html#consoleEnabled-boolean-"><code>consoleEnabled(boolean)</code></a> 
+      <li class='jm'><a href="org/apache/juneau/microservice/MicroserviceBuilder.html#listener-org.apache.juneau.microservice.MicroserviceListener-"><code>listener(MicroserviceListener)</code></a> 
+      <li class='jm'><a href="org/apache/juneau/microservice/MicroserviceBuilder.html#logConfig-org.apache.juneau.microservice.LogConfig-"><code>logConfig(LogConfig)</code></a> 
+      <li class='jm'><a href="org/apache/juneau/microservice/MicroserviceBuilder.html#logger-java.util.logging.Logger-"><code>MicroserviceBuilder.logger(Logger)</code></a> 
+      <li class='jm'><a href="org/apache/juneau/microservice/MicroserviceBuilder.html#manifest-java.lang.Object-"><code>MicroserviceBuilder.manifest(Object)</code></a> 
+      <li class='jm'><a href="org/apache/juneau/microservice/MicroserviceBuilder.html#varContext-java.lang.String-java.lang.Object-"><code>varContext(String,Object)</code></a> 
+      <li class='jm'><a href="org/apache/juneau/microservice/MicroserviceBuilder.html#vars-java.lang.Class...-"><code>vars(Class...)</code></a> 
+   </ul>
+   <li class='jc'><a href="org/apache/juneau/microservice/Microservice.html" title="class in org.apache.juneau.microservice"><code>Microservice</code></a>
+   <ul>
+      <li class='jm'><a href="org/apache/juneau/microservice/Microservice.html#init--"><code>init()</code></a> 
+      <li class='jm'><a href="org/apache/juneau/microservice/Microservice.html#start--"><code>start()</code></a> 
+      <li class='jm'><a href="org/apache/juneau/microservice/Microservice.html#startConsole--"><code>startConsole()</code></a> 
+      <li class='jm'><a href="org/apache/juneau/microservice/Microservice.html#join--"><code>join()</code></a> 
+      <li class='jm'><a href="org/apache/juneau/microservice/Microservice.html#stop--"><code>stop()</code></a> 
+      <li class='jm'><a href="org/apache/juneau/microservice/Microservice.html#stopConsole--"><code>stopConsole()</code></a> 
+      <li class='jm'><a href="org/apache/juneau/microservice/Microservice.html#exit--"><code>exit()</code></a> 
+      <li class='jm'><a href="org/apache/juneau/microservice/Microservice.html#kill--"><code>kill()</code></a> 
+      <li class='jm'><a href="org/apache/juneau/microservice/Microservice.html#getArgs--"><code>getArgs()</code></a> 
+      <li class='jm'><a href="org/apache/juneau/microservice/Microservice.html#getConfig--"><code>getConfig()</code></a> 
+      <li class='jm'><a href="org/apache/juneau/microservice/Microservice.html#getLogger--"><code>getLogger()</code></a> 
+      <li class='jm'><a href="org/apache/juneau/microservice/Microservice.html#getManifest--"><code>getManifest()</code></a> 
+      <li class='jm'><a href="org/apache/juneau/microservice/Microservice.html#getVarResolver--"><code>getVarResolver()</code></a> 
+      <li class='jm'><a href="org/apache/juneau/microservice/Microservice.html#log-java.util.logging.Level-java.lang.String-java.lang.Object...-"><code>log(Level,String,Object...)</code></a> 
+      <li class='jm'><a href="org/apache/juneau/microservice/Microservice.html#out-org.apache.juneau.utils.MessageBundle-java.lang.String-java.lang.Object...-"><code>out(MessageBundle,String,Object...)</code></a> 
+      <li class='jm'><a href="org/apache/juneau/microservice/Microservice.html#err-org.apache.juneau.utils.MessageBundle-java.lang.String-java.lang.Object...-"><code>err(MessageBundle,String,Object...)</code></a> 
+      <li class='jm'><a href="org/apache/juneau/microservice/Microservice.html#onConfigChange-java.util.List-"><code>onConfigChange(List)</code></a> 
+      <li class='jm'><a href="org/apache/juneau/microservice/Microservice.html#executeCommand-org.apache.juneau.utils.Args-java.util.Scanner-java.io.PrintWriter-"><code>executeCommand(Args,Scanner,PrintWriter)</code></a> 
+   </ul>
+   <li class='jic'><a href="org/apache/juneau/microservice/MicroserviceListener.html" title="interface in org.apache.juneau.microservice"><code>MicroserviceListener</code></a>
+   <ul>
+      <li class='jm'><a href="org/apache/juneau/microservice/MicroserviceListener.html#onConfigChange-org.apache.juneau.microservice.Microservice-java.util.List-"><code>onConfigChange(Microservice,List)</code></a> 
+      <li class='jm'><a href="org/apache/juneau/microservice/MicroserviceListener.html#onStart-org.apache.juneau.microservice.Microservice-"><code>onStart(Microservice)</code></a> 
+      <li class='jm'><a href="org/apache/juneau/microservice/MicroserviceListener.html#onStop-org.apache.juneau.microservice.Microservice-"><code>onStop(Microservice)</code></a> 
+   </ul>
+</ul>
 </div><!-- END: 11.1 - juneau-microservice-core.Overview -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic todo' onclick='toggle(this)'><a href='#juneau-microservice-core.GettingStarted' id='juneau-microservice-core.GettingStarted'>11.2 - Getting Started</a></h3>
-<div class='topic'><!-- START: 11.2 - juneau-microservice-core.GettingStarted -->
+<h3 class='topic todo' onclick='toggle(this)'><a href='#juneau-microservice-core.LifecycleMethods' id='juneau-microservice-core.LifecycleMethods'>11.2 - Lifecycle Methods</a></h3>
+<div class='topic'><!-- START: 11.2 - juneau-microservice-core.LifecycleMethods -->
 <p>
-   The <l>my-microservice.zip</l> file is a zipped eclipse project that includes everything you 
-   need to create a REST microservice in an Eclipse workspace.
+   The lifecycle methods of the <a href="org/apache/juneau/microservice/Microservice.html" title="class in org.apache.juneau.microservice"><code>Microservice</code></a> class consists of the following:
+</p>
+<ul class='doctree'>
+   <li class='jc'><a href="org/apache/juneau/microservice/Microservice.html" title="class in org.apache.juneau.microservice"><code>Microservice</code></a>
+   <ul>
+      <li class='jm'><a href="org/apache/juneau/microservice/Microservice.html#start--"><code>start()</code></a> 
+      <li class='jm'><a href="org/apache/juneau/microservice/Microservice.html#startConsole--"><code>startConsole()</code></a> 
+      <li class='jm'><a href="org/apache/juneau/microservice/Microservice.html#join--"><code>join()</code></a> 
+      <li class='jm'><a href="org/apache/juneau/microservice/Microservice.html#stop--"><code>stop()</code></a> 
+      <li class='jm'><a href="org/apache/juneau/microservice/Microservice.html#stopConsole--"><code>stopConsole()</code></a> 
+      <li class='jm'><a href="org/apache/juneau/microservice/Microservice.html#exit--"><code>exit()</code></a> 
+      <li class='jm'><a href="org/apache/juneau/microservice/Microservice.html#kill--"><code>kill()</code></a> 
+   </ul>
+</ul>
+<p>
+   A typical implementation of an app with lifecycle methods might look like the following:
+</p>
+<p class='bpcode w800'>
+   <jk>public class</jk> App {
+   
+      <jk>private static final</jk> Microservice <jsf>MICROSERVICE</jsf>;
+   
+      <jk>public static void</jk> main(String[] args) {
+         MICROSERVICE = Microservice
+            .<jsm>create</jsm>()   <jc>// Create builder.</jc>
+            .args(args) <jc>// Pass in args.</jc>
+            .build()    <jc>// Create microservice.</jc>
+            .start()    <jc>// Start microservice.</jc>
+            .startConsole()    <jc>// Start console.</jc>
+            .join()   </jc>// Join thread.
+         ;
+      }
+      
+      <jk>public static void</jk> restart() {
+         <jsf>MICROSERVICE</jsf>.stop().start();
+      }
+      
+      <jk>public static void</jk> exit() {
+         <jsf>MICROSERVICE</jsf>.exit();
+      }
+   }
 </p>
+<p>
+   If your application 
+</p>
+<p class='bpcode w800'>
+   public class App {
+   
+      public static void main(String[] args) {
+         new Microservice
+            .<jsm>create</jsm>()   <jc>// Create builder.</jc>
+            .args(args) <jc>// Pass in args.</jc>
+            .build()    <jc>// Create microservice.</jc>
+            .start()    <jc>// Start microservice.</jc>
+            .startConsole()    <jc>// Start console.</jc>
+            .join()   </jc>// Join thread.
+         ;
+      }
+      
+      public static void restart() {
+         Microservice.getInstance().stop().start();
+      }
+      
+      public static void exit() {
+         Microservice.exit();
+      }
+   }
+</p>
+</div><!-- END: 11.2 - juneau-microservice-core.LifecycleMethods -->
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-microservice-core.GettingStarted.Installing' id='juneau-microservice-core.GettingStarted.Installing'>11.2.1 - Installing in Eclipse</a></h4>
-<div class='topic'><!-- START: 11.2.1 - juneau-microservice-core.GettingStarted.Installing -->
+<h3 class='topic todo' onclick='toggle(this)'><a href='#juneau-microservice-core.Args' id='juneau-microservice-core.Args'>11.3 - Args</a></h3>
+<div class='topic'><!-- START: 11.3 - juneau-microservice-core.Args -->
 <p>
-   Follow these instructions to create a new template project in Eclipse.
+   Command-line arguments can be associated with a microservice using the <a href="org/apache/juneau/microservice/MicroserviceBuilder.html#args-java.lang.String...-"><code>MicroserviceBuilder.args(String...)</code></a> method.
+</p>
+<h5 class='figure'>Example:</h5>
+<p class='bpcode w800'>
+   Microservice microservice = Microservice
+      .<jsm>create</jsm>()   <jc>// Create builder.</jc>
+      .args(args) <jc>// Pass in args.</jc>
+      .build()    <jc>// Create microservice.</jc>
+      .start()    <jc>// Start microservice.</jc>
+   ;
+</p>
+<p>
+   When specified, the arguments can be retrieved using the <a href="org/apache/juneau/microservice/Microservice.html#getArgs--"><code>Microservice.getArgs()</code></a> method which provides
+   an API for easily accessing command-line arguments using common notation:
+</p>
+<p class='bpcode w800'>
+   Microservice microservice = ...;
+   
+   Args a = microservice.getArgs();
+
+   <jc>// One main argument</jc>
+   <jc>// a1</jc>
+   String a1 = a.getArg(0); <jc>// "a1"</jc>
+   String a2 = a.getArg(1); <jc>// null</jc>
+
+   <jc>// Two main arguments</jc>
+   <jc>// a1 a2</jc>
+   String a1 = a.getArg(0); <jc>// "a1"</jc>
+   String a2 = a.getArg(1); <jc>// "a2"</jc>
+
+   <jc>// One main argument and one optional argument with no value</jc>
+   <jc>// a1 -a2</jc>
+   String a1 = a.getArg(0);
+   <jk>boolean</jk> hasA2 = a.hasArg(<js>"a2"</js>); <jc>// true</jc>
+   <jk>boolean</jk> hasA3 = a.hasArg(<js>"a3"</js>); <jc>// false</jc>
+
+   <jc>// One main argument and one optional argument with one value</jc>
+   <jc>// a1 -a2 v2</jc>
+   String a1 = a.getArg(0);
+   String a2 = a.getArg(<js>"a2"</js>); <jc>// "v2"</jc>
+   String a3 = a.getArg(<js>"a3"</js>); <jc>// null</jc>
+
+   <jc>// One main argument and one optional argument with two values</jc>
+   <jc>// a1 -a2 v2a v2b</jc>
+   String a1 = a.getArg(0);
+   List&lt;String&gt; a2 = a.getArgs(<js>"a2"</js>); <jc>// Contains ["v2a","v2b"]</jc>
+   List&lt;String&gt; a3 = a.getArgs(<js>"a3"</js>); <jc>// Empty list</jc>
+
+   <jc>// Same as previous, except specify optional argument name multiple times</jc>
+   <jc>// a1 -a2 v2a -a2 v2b</jc>
+   String a1 = a.getArg(0);
+   List&lt;String&gt; a2 = a.getArgs(<js>"a2"</js>); <jc>// Contains ["v2a","v2b"]</jc>
+</p>
+<p>
+   Specifying the command-line arguments also makes them available through <a href="org/apache/juneau/svl/vars/ArgsVar.html" title="class in org.apache.juneau.svl.vars"><code>$ARG</code></a> SVL variables.
+   These can be used in the configuration file and throughout various Juneau annotations.
+</p>
+<h5 class='figure'>Examples:</h5>
+<p class='bpcode w800'>
+   <jc>// $ARG used in variable resolver.</jc>
+   VarResolver vr = microservice.getVarResolver();
+   System.<jsf>out</jsf>.println(vr.resolve(<js>"Arg #1 is set to $ARGS{1}"</js>));
+</p>
+<p class='bpcode w800'>
+   <jc>// $ARG used in annotation.</jc>
+   <ja>@RestResource</ja>(
+      title=<js>"$ARG{title}"</js>,
+      ...
+   )
+</p>
+</div><!-- END: 11.3 - juneau-microservice-core.Args -->
+
+<!-- ==================================================================================================== -->
+
+<h3 class='topic todo' onclick='toggle(this)'><a href='#juneau-microservice-core.Manifest' id='juneau-microservice-core.Manifest'>11.4 - Manifest</a></h3>
+<div class='topic'><!-- START: 11.4 - juneau-microservice-core.Manifest -->
+<p>
+   The <a href="org/apache/juneau/microservice/MicroserviceBuilder.html#manifest-java.lang.Object-"><code>MicroserviceBuilder.manifest(Object)</code></a> method can be used to specify the contents or location of of the main 
+   manifest file of the executable jar.
+</p>
+<p>
+   If you do not specify the location/contents of the manifest file, the microservice will attempt to resolve it through the following methods:
+</p>
+<ol class='spaced-list'>
+   <li>
+      Looking on the file system for a file at <js>"META-INF/MANIFEST.MF"</js>.
+      This is primarily to allow for running microservices from within eclipse workspaces where the manifest file
+      is located in the project root.
+   <li>
+      Using the class loader for this class to find the file at the URL <js>"META-INF/MANIFEST.MF"</js>.
+</ol>
+<p>
+   If you do manually specify the manifest file, you can pass in any of the following types:
 </p>     
+<ul>
+   <li><code>ManifestFile</code>
+   <li><code>Manifest</code>
+   <li><code>Reader</code> - Containing the raw contents of the manifest.  Note that the input must end with a newline.
+   <li><code>InputStream</code> - Containing the raw contents of the manifest.  Note that the input must end with a newline.
+   <li><code>File</code> - File containing the raw contents of the manifest.
+   <li><code>String</code> - Path to file containing the raw contents of the manifest.
+   <li><code>Class</code> - Finds and loads the manifest file of the jar file that the specified class is contained within.
+</ul>
+<p>
+   The manifest file can be retrieved using the the <a href="org/apache/juneau/microservice/Microservice.html#getManifest--"><code>Microservice.getManifest()</code></a> method which 
+   provides an API for accessing manifest file entries.
+   <br>This method returns an instance of <a href="org/apache/juneau/utils/ManifestFile.html" title="class in org.apache.juneau.utils"><code>ManifestFile</code></a> which extends from <a href="org/apache/juneau/ObjectMap.html" title="class in org.apache.juneau"><code>ObjectMap</code></a> allowing
+   you to retrieve entries as any data types supported by that class.
+</p>
+<h5 class='figure'>Example:</h5>
+<p class='bpcode w800'>
+   Microservice m = ...;
+   
+   ManifestFile mf = m.getManifest();
+   
+   String mainClass = mf.getString(<js>"Main-Class"</js>);
+   <jk>int</jk> myInt = mf.getInt(<js>"My-Int"</js>, 123);
+   <jk>boolean</jk> myBoolean = mf.getBoolean(<js>"My-Boolean"</js>);
+</p>
+<p>
+   The manifest is also used for the <a href="org/apache/juneau/svl/vars/ManifestFileVar.html" title="class in org.apache.juneau.svl.vars"><code>$MF</code></a> SVL variable.
+</p>
+<h5 class='figure'>Examples:</h5>
+<p class='bpcode w800'>
+   <jc>// $MF used in variable resolver.</jc>
+   VarResolver vr = microservice.getVarResolver();
+   System.<jsf>out</jsf>.println(vr.resolve(<js>"The main class is $MF{Main-Class}"</js>));
+</p>
+<p class='bpcode w800'>
+   <jc>// $MF used in annotation.</jc>
+   <ja>@RestResource</ja>(
+      title=<js>"$MF{Application-Title}"</js>,
+      ...
+   )
+</p>
+</div><!-- END: 11.4 - juneau-microservice-core.Manifest -->
+
+<!-- ==================================================================================================== -->
+
+<h3 class='topic todo' onclick='toggle(this)'><a href='#juneau-microservice-core.Config' id='juneau-microservice-core.Config'>11.5 - Config</a></h3>
+<div class='topic'><!-- START: 11.5 - juneau-microservice-core.Config -->
+<p>
+   The following methods can be used to define the configuration for your microservice:
+</p>
+<ul class='doctree'>
+   <li class='jc'><a href="org/apache/juneau/microservice/MicroserviceBuilder.html" title="class in org.apache.juneau.microservice"><code>MicroserviceBuilder</code></a>
+   <ul>
+      <li class='jm'><a href="org/apache/juneau/microservice/MicroserviceBuilder.html#config-org.apache.juneau.config.Config-"><code>config(Config)</code></a> 
+      <li class='jm'><a href="org/apache/juneau/microservice/MicroserviceBuilder.html#configName-java.lang.String-"><code>configName(String)</code></a> 
+      <li class='jm'><a href="org/apache/juneau/microservice/MicroserviceBuilder.html#configStore-org.apache.juneau.config.store.ConfigStore-"><code>configStore(ConfigStore)</code></a> 
+   </ul>
+</ul>
+<p>
+   If you do not specify any of this information, we attempt to resolve it through the following methods:
+</p>
 <ol class='spaced-list'>
    <li>
-      Download the latest microservice-project zip file (e.g. <l>my-microservice.zip</l>).
+      Resolve file first in working directory, then in classpath, using the following names:
+      <ol>
+         <li>
+            The <js>"configFile"</js> argument in the command line arguments passed in through the constructor.
+         <li>
+            The value of the <code>Main-Config</code> entry in the manifest file.
+         <li>
+            A config file in the same location and with the same name as the executable jar file.
+            (e.g. <js>"java -jar myjar.jar"</js> will look for <js>"myjar.cfg"</js>).
+      </ol>
    <li>
-      In your Eclipse workspace, go to <b>File -&gt; Import -&gt; General -&gt; Existing Projects into Workspace</b> 
-      and select the zip file and click <b>Finish</b>.
-      <br><br>
-      <img class='bordered' src='doc-files/juneau-microservice-server.Installing.1.png' style='width:549px'>
+      Resolve any <js>"*.cfg"</js> file that can be found in the working directory.
    <li>
-      In your workspace, you should now see the following project:
-      <br><br>
-      <img class='bordered' src='doc-files/juneau-microservice-server.Installing.2.png' style='width:299px'>
+      Resolve any of the following files in the classpath:  <js>"juneau.cfg"</js>, <js>"system.cfg"</js>
 </ol>
 <p>
-   The important elements in this project are:
+   If no configuration file is found, and empty in-memory configuration is used.
 </p>
-<ul class='spaced-list'>
-   <li>
-      <l>RootResources.java</l> - The top-level REST resource. 
-      <br>This class routes HTTP requests to child resources:
-      <br><br>
-      <p class='bcode w800'>
+<p>
+   The <a href="org/apache/juneau/microservice/MicroserviceBuilder.html#configName-java.lang.String-"><code>configName(String)</code></a> method allows you to explicitly specify the name
+   of the external configuration file location for your microservice.
+   <br>By default, we try to find the file on the file system and then the classpath.
+</p>
+<p>
+   The <a href="org/apache/juneau/microservice/MicroserviceBuilder.html#configStore-org.apache.juneau.config.store.ConfigStore-"><code>configStore(ConfigStore)</code></a> method can be used to explicitly
+   specify which configuration store to use including your own custom configuration store.
+</p>
+<p>
+   The <a href="org/apache/juneau/microservice/MicroserviceBuilder.html#config-org.apache.juneau.config.Config-"><code>config(Config)</code></a> method can be used to explicitly specify a <a href="org/apache/juneau/config/Config.html" title="class in org.apache.juneau.config"><code>Config</code></a> 
+   file as the microservice configuration.  When this method is used, the above two methods are bypassed entirely.
+</p>
+<p>
+   Once the configuration is resolved, it is made as the system default configuration available through the <a href="org/apache/juneau/config/Config.html#getSystemDefault--"><code>Config.getSystemDefault()</code></a>.
+   <br>This in turn allows it to be used by REST resources that reference the system default configuration via the <js>"SYSTEM_DEFAULT"</js> such as those
+   implementing the <a href="org/apache/juneau/rest/BasicRestConfig.html" title="interface in org.apache.juneau.rest"><code>BasicRestConfig</code></a> interface.
+<p>
+<h5 clas='figure'>BasicRestConfig.java</h5>
+<p class='bpcode w800'>
    <ja>@RestResource</ja>(
-      path=<js>"/"</js>,
-      title=<js>"My Microservice"</js>,
-      description=<js>"Top-level resources page"</js>,
-      htmldoc=<ja>@HtmlDoc</ja>(
-         widgets={
-            ContentTypeMenuItem.<jk>class</jk>,
-            StyleMenuItem.<jk>class</jk>
-         },
-         navlinks={
-            <js>"options: servlet:/?method=OPTIONS"</js>
-         }
-      ),
-      children={
-         HelloWorldResource.<jk>class</jk>,
-         ConfigResource.<jk>class</jk>,
-         LogsResource.<jk>class</jk>
-      }
+      config=<js>"$S{juneau.configFile,SYSTEM_DEFAULT}"</js>
+      ...
    )
-   <jk>public class</jk> RootResources <jk>extends</jk> BasicRestServletJenaGroup {
-      <jc>// No code</jc>
-   }
-      </p>
-   <li>
-      <l>my-microservice.cfg</l> - The external configuration file. 
-      <br>Contains various useful settings.
-      <br>Can be used for your own resource configurations.
-      <br><br>
-      <p class='bcode w800'>
-   <cc>#=======================================================================================================================
-   # Basic configuration file for REST microservices
-   # Subprojects can use this as a starting point.
-   #=======================================================================================================================</cc>
-   
-   <cc># What to do when the config file is saved.
-   # Possible values:
-   #  NOTHING - Don't do anything. (default)
-   #  RESTART_SERVER - Restart the Jetty server.
-   #  RESTART_SERVICE - Shutdown and exit with code '3'.</cc>
-   <ck>saveConfigAction</ck> = <cv>RESTART_SERVER</cv>
-   
-   <cc>#=======================================================================================================================
-   # Jetty settings
-   #=======================================================================================================================</cc>
-   <cs>[Jetty]</cs>
+</p>
+<p>
+   The <a href="org/apache/juneau/microservice/Microservice.html#getConfig--"><code>Microservice.getConfig()</code></a> method can be used to get access to the configuration.
+</p>
+<p class='bpcode w800'>
+   Microservice microservice = ...;
    
-   <cc># Path of the jetty.xml file used to configure the Jetty server.</cc>
-   <ck>config</ck> = <cv>jetty.xml</cv>
+   Config c = microservice.getConfig();
    
-   <cc># Resolve Juneau variables in the jetty.xml file.</cc>
-   <ck>resolveVars</ck> = <cv>true</cv>
-   
-   <cc># Port to use for the jetty server.
-   # You can specify multiple ports.  The first available will be used.  '0' indicates to try a random port.
-   # The resulting available port gets set as the system property "availablePort" which can be referenced in the 
-   # jetty.xml file as "$S{availablePort}" (assuming resolveVars is enabled).</cc>
-   <ck>port</ck> = <cv>10000,0,0,0</cv>
-   
-   <cc>#=======================================================================================================================
-   # REST settings
-   #=======================================================================================================================</cc>
-   <cs>[REST]</cs>
-   
-   <cc># Stylesheet to use for HTML views.
-   # The default options are:
-   #  - servlet:/styles/juneau.css
-   #  - servlet:/styles/devops.css
-   # Other stylesheets can be referenced relative to the servlet package or working directory.</cc>
-   <ck>stylesheet</ck> = <cv>servlet:/styles/devops.css</cv>
-   
-   <cc>#=======================================================================================================================
-   # Console settings
-   #=======================================================================================================================</cc>
-   <cs>[Console]</cs>
-   
-   <ck>enabled</ck> = <cv>true</cv>
-   
-   <cc># List of available console commands.
-   # These are classes that implements ConsoleCommand that allow you to submit commands to the microservice via
-   # the console.
-   # When listed here, the implementations must provide a no-arg constructor.
-   # They can also be provided dynamically by overriding the Microservice.createConsoleCommands() method.</cc>
-   <ck>commands</ck> = 
-      <cv>org.apache.juneau.microservice.console.ExitCommand,
-      org.apache.juneau.microservice.console.RestartCommand,
-      org.apache.juneau.microservice.console.HelpCommand</cv>
-      
-   <cc>#=======================================================================================================================
-   # Logger settings
-   #-----------------------------------------------------------------------------------------------------------------------
-   # See FileHandler Java class for details.
-   #=======================================================================================================================</cc>
-   <cs>[Logging]</cs>
-
-   ...
-   
-   <cc>#=======================================================================================================================
-   # System properties
-   #-----------------------------------------------------------------------------------------------------------------------
-   # These are arbitrary system properties that are set during startup.
-   #=======================================================================================================================</cc>
-   <cs>[SystemProperties]</cs>
-   
-   <cc># Configure Jetty for StdErrLog Logging
-   # org.eclipse.jetty.util.log.class = org.eclipse.jetty.util.log.StrErrLog</cc>
-   
-   <cc># Configure Jetty to log using java-util logging</cc>
-   <ck>org.eclipse.jetty.util.log.class</ck> = <cv>org.apache.juneau.microservice.jetty.JettyLogger</cv>
-   
-   <cc># Jetty logging level
-   # Possible values:  ALL, DEBUG, INFO, WARN, OFF</cc>
-   <ck>org.eclipse.jetty.LEVEL</ck> = <cv>WARN
-   
-   <ck>derby.stream.error.file</ck> = <cv>$C{Logging/logDir}/derby-errors.log</cv>              
-   </p>
-   <li>
-      <l>jetty.xml</l> - The Jetty configuration file. 
-      <br>A bare-bones config file that can be extended to use any Jetty features.
-      <br><br>
-      <p class='bcode w800'>
-   <xt>&lt;Configure</xt> <xa>id</xa>=<xs>"ExampleServer"</xs> <xa>class</xa>=<xs>"org.eclipse.jetty.server.Server"</xs>&gt;</xt>
-   
-      <xt>&lt;Set</xt> <xa>name</xa>=<xs>"connectors"</xs><xt>&gt;</xt>
-         <xt>&lt;Array</xt> <xa>type</xa>=<xs>"org.eclipse.jetty.server.Connector"</xs><xt>&gt;</xt>
-            <xt>&lt;Item&gt;</xt>
-               <xt>&lt;New</xt> <xa>class</xa>=<xs>"org.eclipse.jetty.server.ServerConnector"</xs><xt>&gt;</xt>
-                  <xt>&lt;Arg&gt;</xt>
-                     <xt>&lt;Ref</xt> <xa>refid</xa>=<xs>"ExampleServer"</xs><xt>/&gt;</xt>
-                  <xt>&lt;/Arg&gt;</xt>
-                  <xt>&lt;Set</xt> <xa>name</xa>=<xs>"port"</xs><xt>&gt;</xt>$S{availablePort,8080}<xt>&lt;/Set&gt;</xt>
-               <xt>&lt;/New&gt;</xt>
-            <xt>&lt;/Item&gt;</xt>
-         <xt>&lt;/Array&gt;</xt>
-      <xt>&lt;/Set&gt;</xt>
-   
-      <xt>&lt;New</xt> <xa>id</xa>=<xs>"context"</xs> <xa>class</xa>=<xs>"org.eclipse.jetty.servlet.ServletContextHandler"</xs><xt>&gt;</xt>
-         <xt>&lt;Set</xt> <xa>name</xa>=<xs>"contextPath"</xs><xt>&gt;/&lt;/Set&gt;</xt>
-         <xt>&lt;Call</xt> <xa>name</xa>=<xs>"addServlet"</xs><xt>&gt;</xt>
-            <xt>&lt;Arg&gt;</xt>org.apache.juneau.microservice.sample.RootResources<xt>&lt;/Arg&gt;</xt>
-            <xt>&lt;Arg&gt;</xt>/*<xt>&lt;/Arg&gt;</xt>
-         <xt>&lt;/Call&gt;</xt>
-         <xt>&lt;Set</xt> <xa>name</xa>=<xs>"sessionHandler"</xs><xt>&gt;</xt>
-            <xt>&lt;New</xt> <xa>class</xa>=<xs>"org.eclipse.jetty.server.session.SessionHandler"</xs><xt>/&gt;</xt>
-         <xt>&lt;/Set&gt;</xt>
-      <xt>&lt;/New&gt;</xt>
-   
-      <xt>&lt;Set</xt> <xa>name</xa>=<xs>"handler"</xs><xt>&gt;</xt>
-         <xt>&lt;New</xt> <xa>class</xa>=<xs>"org.eclipse.jetty.server.handler.HandlerCollection"</xs><xt>&gt;</xt>
-            <xt>&lt;Set</xt> <xa>name</xa>=<xs>"handlers"</xs><xt>&gt;</xt>
-               <xt>&lt;Array</xt> <xa>type</xa>=<xs>"org.eclipse.jetty.server.Handler"</xs><xt>&gt;</xt>
-                  <xt>&lt;Item&gt;</xt>
-                     <xt>&lt;Ref</xt> <xa>refid</xa>=<xs>"context"</xs><xt>/&gt;</xt>
-                  <xt>&lt;/Item&gt;</xt>
-                  <xt>&lt;Item&gt;</xt>
-                     <xt>&lt;New</xt> <xa>class</xa>=<xs>"org.eclipse.jetty.server.handler.DefaultHandler"</xs><xt>/&gt;</xt>
-                  <xt>&lt;/Item&gt;</xt>
-               <xt>&lt;/Array&gt;</xt>
-            <xt>&lt;/Set&gt;</xt>
-         <xt>&lt;/New&gt;</xt>
-      <xt>&lt;/Set&gt;</xt>
-   
-      <xt>&lt;Set</xt> <xa>name</xa>=<xs>"requestLog"</xs><xt>&gt;</xt>
-         <xt>&lt;New</xt> <xa>id</xa>=<xs>"RequestLogImpl"</xs> <xa>class</xa>=<xs>"org.eclipse.jetty.server.NCSARequestLog"</xs><xt>&gt;</xt>
-            <xt>&lt;Set</xt> <xa>name</xa>=<xs>"filename"</xs><xt>&gt;&lt;Property</xt> <xa>name</xa>=<xs>"jetty.logs"</xs> <xa>default</xa>=<xs>"$C{Logging/logDir,logs}"</xs><xt>/&gt;</xt>/jetty-requests.log<xt>&lt;/Set&gt;</xt>
-            <xt>&lt;Set</xt> <xa>name</xa>=<xs>"filenameDateFormat</xs><xt>"&gt;</xt>yyyy_MM_dd<xt>&lt;/Set&gt;</xt>
-            <xt>&lt;Set</xt> <xa>name</xa>=<xs>"LogTimeZone"</xs><xt>&gt;</xt>GMT<xt>&lt;/Set&gt;</xt>
-            <xt>&lt;Set</xt> <xa>name</xa>=<xs>"retainDays"</xs><xt>&gt;</xt>90<xt>&lt;/Set&gt;</xt>
-            <xt>&lt;Set</xt> <xa>name</xa>=<xs>"append"</xs><xt>&gt;</xt>false<xt>&lt;/Set&gt;</xt>
-            <xt>&lt;Set</xt> <xa>name</xa>=<xs>"LogLatency"</xs><xt>&gt;</xt>true<xt>&lt;/Set&gt;</xt>
-         <xt>&lt;/New&gt;</xt>
-      <xt>&lt;/Set&gt;</xt>
-   
-       <xt>&lt;Get</xt> <xa>name</xa>=<xs>"ThreadPool"</xs><xt>&gt;</xt>
-           <xt>&lt;Set</xt> <xa>name</xa>=<xs>"minThreads"</xs> <xa>type</xa>=<xs>"int"</xs><xt>&gt;</xt>10<xt>&lt;/Set&gt;</xt>
-           <xt>&lt;Set</xt> <xa>name</xa>=<xs>"maxThreads"</xs> <xa>type</xa>=<xs>"int"</xs><xt>&gt;</xt>100<xt>&lt;/Set&gt;</xt>
-           <xt>&lt;Set</xt> <xa>name</xa>=<xs>"idleTimeout"</xs> <xa>type</xa>=<xs>"int"</xs><xt>&gt;</xt>60000<xt>&lt;/Set&gt;</xt>
-           <xt>&lt;Set</xt> <xa>name</xa>=<xs>"detailedDump"</xs><xt>&gt;</xt>true<xt>&lt;/Set&gt;</xt>
-       <xt>&lt;/Get&gt;</xt>
-   <xt>&lt;/Configure&gt;</xt>
-      </p>
-</ul>
-<p>
-   At this point, you're ready to start the microservice from your workspace.
-</p>
-</div><!-- END: 11.2.1 - juneau-microservice-core.GettingStarted.Installing -->
-
-<!-- ==================================================================================================== -->
-
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-microservice-core.GettingStarted.Running' id='juneau-microservice-core.GettingStarted.Running'>11.2.2 - Running in Eclipse</a></h4>
-<div class='topic'><!-- START: 11.2.2 - juneau-microservice-core.GettingStarted.Running -->
-<p>
-   The <l>my-microservice.launch</l> file is already provided to allow you to quickly start
-   your new microservice.
-</p>
-<p>
-   Go to <b>Run -&gt; Run Configurations -&gt; Java Application -&gt; my-microservice</b> and click <b>Run</b>.
-   <br>In your console view, you should see the following output:
-</p>
-<p class='bpcode w800'>
-   Running class 'RestMicroservice' using config file 'my-microservice.cfg'.
-   Server started on port 10000
-   
-   List of available commands:
-      exit -- Shut down service
-      restart -- Restarts service
-      help -- Commands help
-   
-   >        
-</p>
-<p>
-   Now open your browser and point to <l>http://localhost:10000</l>.  
-   You should see the following:
-</p>
-<p class='bpcode w400'>
-   http://localhost:10000
-</p>        
-<img class='bordered w400' src='doc-files/juneau-microservice-server.Running.1.png'>
-<p>
-   You have started a REST interface on port 10000.
-   <br>You can enter the command <code>exit</code> to shut it down.
-</p>
-</div><!-- END: 11.2.2 - juneau-microservice-core.GettingStarted.Running -->
-
-<!-- ==================================================================================================== -->
-
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-microservice-core.GettingStarted.Building' id='juneau-microservice-core.GettingStarted.Building'>11.2.3 - Building and Running from Command-Line</a></h4>
-<div class='topic'><!-- START: 11.2.3 - juneau-microservice-core.GettingStarted.Building -->
-<p>
-   The <l>pom.xml</l> file is a basic Maven build script for creating your microservice
-   as an executable uber-jar.
-</p>
-<p>
-   The easiest way to build your microservice is to run the following from the project root.
-</p>
-<p class='bpcode w800'>
-   mvn clean install
-</p>
-<p>
-   Your <code>target</code> directory should now contain the following files:
-</p>
-<ul>
-   <li><code>my-microservice-1.0.jar</code>
-   <li><code>my-microservice.cfg</code>
-   <li><code>jetty.xml</code>
-</ul>
-<p>
-   To start from a command line, run the following command from inside your <code>target</code> directory:
-</p>
-<p class='bpcode w800'>
-   java -jar my-microservice-1.0.jar
-</p>
-<p>
-   You should see the following console output:
-</p>
-<p class='bpcode w800'>
-   Running class 'RestMicroservice' using config file 'my-microservice.cfg'.
-   Server started on port 10000
-   
-   List of available commands:
-      exit -- Shut down service
-      restart -- Restarts service
-      help -- Commands help
-   
-   >        
-</p>
-<p>
-   If you get this error message: <code class='snippet'>java.net.BindException: Address already in use</code>, 
-   then this microservice is already running elsewhere and so it cannot bind to port 10000.
-</p>
-</div><!-- END: 11.2.3 - juneau-microservice-core.GettingStarted.Building -->
-</div><!-- END: 11.2 - juneau-microservice-core.GettingStarted -->
-
-<!-- ==================================================================================================== -->
-
-<h3 class='topic todo' onclick='toggle(this)'><a href='#juneau-microservice-core.Manifest' id='juneau-microservice-core.Manifest'>11.3 - Manifest File</a></h3>
-<div class='topic'><!-- START: 11.3 - juneau-microservice-core.Manifest -->
-<p>
-   The generated <l>META-INF/MANIFEST.MF</l> file is used to describe the microservice. 
-   <br>If you open it, you'll see the following:
-</p>
-<p class='bpcode w800'>
-   <mk>Main-Class</mk>: <mv>org.apache.juneau.microservice.jetty.RestMicroservice</mv>
-   <mk>Main-ConfigFile</mk>: <mv>my-microservice.cfg</mv>
-<p>
-   The <mk>Main-Class</mk> entry is the standard manifest entry describing the entry point for the executable jar.
-   <br>In most cases, this value will always be <l>org.apache.juneau.microservice.jetty.RestMicroservice</l>.
-   <br>However, it is possible to extend this class or implement your own microservice, in which case you'll need
-   to modify this value to point to the new class.
-</p>
-<p>
-   The <mk>Main-ConfigFile</mk> entry points to the location of an external configuration file for our microservice.
-</p>     
-<p>
-   In addition to these predefined manifest entries, you can add your own particular entries to the manifest file
-   and access them through the Manifest API described next. 
-</p>
-
-<!-- ==================================================================================================== -->
-
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-microservice-core.Manifest.ManifestApi' id='juneau-microservice-core.Manifest.ManifestApi'>11.3.1 - Manifest API</a></h4>
-<div class='topic'><!-- START: 11.3.1 - juneau-microservice-core.Manifest.ManifestApi -->
-<p>
-   The <a href="org/apache/juneau/microservice/Microservice.html#getManifest--"><code>Microservice.getManifest()</code></a> method is a static method that
-   can be used to retrieve the manifest file as a <a href="org/apache/juneau/utils/ManifestFile.html" title="class in org.apache.juneau.utils"><code>ManifestFile</code></a>.  
-</p>
-<p class='bpcode w800'>
-   <jc>// Get Main-Class from manifest file.</jc>
-   String mainClass = Microservice.<jsm>getInstance</jsm>().getManifest().getString(<js>"Main-Class"</js>, <js>"unknown"</js>);
-</p>
-<p>
-   The <a href="org/apache/juneau/utils/ManifestFile.html" title="class in org.apache.juneau.utils"><code>ManifestFile</code></a> class extends <a href="org/apache/juneau/ObjectMap.html" title="class in org.apache.juneau"><code>ObjectMap</code></a>,
-   making it possible to retrieve entries as a wide variety of object types such as java primitives, arrays, collections, 
-   maps, or even POJOs serialized as JSON.
-</p>
-</div><!-- END: 11.3.1 - juneau-microservice-core.Manifest.ManifestApi -->
-</div><!-- END: 11.3 - juneau-microservice-core.Manifest -->
-
-<!-- ==================================================================================================== -->
-
-<h3 class='topic todo' onclick='toggle(this)'><a href='#juneau-microservice-core.Config' id='juneau-microservice-core.Config'>11.4 - Config</a></h3>
-<div class='topic'><!-- START: 11.4 - juneau-microservice-core.Config -->
-<p>
-   The microservice config file is an external INI-style configuration file that is used to configure
-   your microservice.
-</p>
-<h5 class='section'>See Also:</h5>
-<ul class='doctree'>
-   <li class='link'><a class='doclink' href='#juneau-config'>Overview &gt; juneau-config</a>
-</ul>
-
-<!-- ==================================================================================================== -->
-
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-microservice-core.Config.ConfigApi' id='juneau-microservice-core.Config.ConfigApi'>11.4.1 - Config File API</a></h4>
-<div class='topic'><!-- START: 11.4.1 - juneau-microservice-core.Config.ConfigApi -->
-<p>
-   There are 3 primary ways of getting access to the config file.
-</p>
-<ul class='doctree'>
-   <li class='jm'><a href="org/apache/juneau/microservice/Microservice.html#getConfig--"><code>Microservice.getConfig()</code></a> 
-      <br>Any <a class='doclink' href='#DefaultRestSvlVariables'>initialization-time variables</a> can be used.
-   <li class='jm'><a href="org/apache/juneau/rest/RestContext.html#getConfig--"><code>RestContext.getConfig()</code></a> 
-      <br>Any <a class='doclink' href='#DefaultRestSvlVariables'>initialization-time variables</a> can be used.
-      <h5 class='figure'>Example usage:</h5>
-      <p class='bcode w800'>
-   <cc>#-------------------------------</cc>
-   <cc># Properties for MyHelloResource </cc>
-   <cc>#-------------------------------</cc>
-   <cs>[MyHelloResource]</cs>
-   <ck>greeting</ck> = <cv>Hello world!</cv> 
-            </p>
-            <p class='bcode w800'>
-   <ja>@RestResource</ja>(...)
-   <jk>public class</jk> MyHelloResource <jk>extends</jk> BasicRestServlet {
-      <jc>// Access config file when initializing fields.</jc>
-      <jk>private</jk> String greeting = getConfig().getString(<js>"MyHelloResource/greeting"</js>); 
-      
-      <jc>// Or access config file in servlet init method.</jc>
-      <ja>@Override</ja> <jc>/* Servlet */</jc>
-      <jk>public void</jk> init() {
-         String greeting = getConfig().getString(<js>"MyHelloResource/greeting"</js>); 
-      }
-   }     
-      </p>
-      <p>
-         Additional user-defined variables can be defined at this level by adding a  
-         <a href="org/apache/juneau/rest/annotation/HookEvent.html#INIT"><code>HookEvent.INIT</code></a> hook method
-         and using the <a href="org/apache/juneau/rest/RestContextBuilder.html#vars-java.lang.Class...-"><code>RestContextBuilder.vars(Class...)</code></a> method.
-      </p>
-   <li class='jm'>
-      <a href="org/apache/juneau/rest/RestRequest.html#getConfig--"><code>RestRequest.getConfig()</code></a> 
-      - An instance method to access it from inside a REST method.
-      <br>Any <a class='doclink' href='#DefaultRestSvlVariables'>initialization-time or request-time variables</a> can be used.
-      
-      <h5 class='figure'>Example usage:</h5>
-      <p class='bcode w800'>
-   <cc>#-----------------------------</cc>
-   <cc># Contents of microservice.cfg </cc>
-   <cc>#-----------------------------</cc>
-   <cs>[MyHelloResource]</cs>
-   <ck>greeting</ck> = <cv>Hello $RP{person}!</cv> 
-   <ck>localizedGreeting</ck> = <cv>$L{HelloMessage,$RP{person}}</cv> 
-            </p>
-            <p class='bcode w800'>
-   <cc>#---------------------------------</cc>
-   <cc># Contents of MyHelloResource.java </cc>
-   <cc>#---------------------------------</cc>
-   <ja>@RestResource</ja>(
-      path=<js>"/hello"</js>,
-      messages=<js>"nls/Messages"</js>,
-      ...
-   )
-   <jk>public class</jk> MyHelloResource <jk>extends</jk> BasicRestServlet {
-
-      <jd>/** Standard hello message. */</jd>
-      <ja>@RestMethod</ja>(name=<jsf>GET</jsf>, path=<js>"/{person}"</js>)
-      <jk>public</jk> String sayHello(RestRequest req) {
-         <jk>return</jk> req.getConfig().getString(<js>"MyHelloResource/greeting"</js>);
-      }
-
-      <jd>/** Hello message in users language. */</jd>
-      <ja>@RestMethod</ja>(name=<jsf>GET</jsf>, path=<js>"/localized/{person}"</js>)
-      <jk>public</jk> String sayLocalizedHello(RestRequest req) {
-         <jk>return</jk> req.getConfig().getString(<js>"MyHelloResource/localizedGreeting"</js>);
-      }
-   }     
-      </p>
-      <p class='bcode w800'>
-   <cc>#---------------------------------------</cc>
-   <cc># Contents of nls/Messages_en.properties </cc>
-   <cc>#---------------------------------------</cc>
-   <ck>MyHelloResource.HelloMessage</ck> = <cv>Hello {0}!</cv> 
-      </p>
-      <p>
-         Additional user-defined variables can be defined at this level by overriding the 
-         <a href="org/apache/juneau/rest/RestContextBuilder.html#vars-java.lang.Class...-"><code>RestContextBuilder.vars(Class...)</code></a> method.
-      </p>
-</ul>
-<p>
-   That <l>sayLocalizedHello()</l> example might need some explanation since there's a lot going on there.
-   <br>Here's what happens when an HTTP call is made to <l>GET /hello/localized/Bob</l>:
-</p>
-<ol class='spaced-list'>
-   <li>
-      The HTTP call matches the <l>/hello</l> path on the <l>MyHelloResource</l> class.
-   <li>
-      The HTTP call matches the <l>/localized/{person}</l> path on the <l>sayLocalizedHello()</l> method.
-   <li>
-      The request attribute <l>person</l> gets assigned the value <l>"Bob"</l>.
-   <li>
-      The call to <l>req.getConfig().getString("MyHelloResource/localizedGreeting")</l> 
-      finds the value <l>"$L{HelloMessage,$RP{person}}"</l>.
-   <li>
-      The arguments in the <l>$L{}</l> variable get resolved, resulting in <l>"$L{HelloMessage,Bob}"</l>.
-   <li>
-      The <l>$L{}</l> variable gets resolved to the message <l>"Hello {0}!"</l> in the localized properties 
-      file of the servlet based on the <l>Accept-Language</l> header on the request.
-   <li>
-      The arguments get replaced in the message resulting in <l>"Hello Bob!"</l>. 
-   <li>
-      The resulting message <l>"Hello Bob!"</l> is returned as a POJO to be serialized to whatever content 
-      type was specified on the <l>Accept</l> header on the request.
-</ol>
-<p>
-   This particular example is needlessly complex, but it gives an idea of how variables can be used 
-   recursively to produce sophisticated results
-</p>
-</div><!-- END: 11.4.1 - juneau-microservice-core.Config.ConfigApi -->
-</div><!-- END: 11.4 - juneau-microservice-core.Config -->
-
-<!-- ==================================================================================================== -->
-
-<h3 class='topic todo' onclick='toggle(this)'><a href='#juneau-microservice-core.ResourceClasses' id='juneau-microservice-core.ResourceClasses'>11.5 - Resource Classes</a></h3>
-<div class='topic'><!-- START: 11.5 - juneau-microservice-core.ResourceClasses -->
-<p>
-   Now let's take a look at the resource classes themselves.  
-   <br>The top-level page...
-</p>
-<p class='bpcode w800'>
-   http://localhost:10000
-</p>        
-<img class='bordered w800' src='doc-files/juneau-microservice-server.Running.1.png'>
-<p>
-   ...is generated by this class...
-<p class='bpcode w800'>
-   <ja>@RestResource</ja>(
-      path=<js>"/"</js>,
-      title=<js>"My Microservice"</js>,
-      description=<js>"Top-level resources page"</js>,
-      htmldoc=<ja>@HtmlDoc</ja>(
-         navlinks={
-            <js>"options: servlet:/?method=OPTIONS"</js>
-         }
-      ),
-      children={
-         HelloWorldResource.<jk>class</jk>,
-         ConfigResource.<jk>class</jk>,
-         LogsResource.<jk>class</jk>
-      }
-   )
-   <jk>public class</jk> RootResources <jk>extends</jk> BasicRestServletJenaGroup {
-      <jc>// No code! </jc>
-   }
-</p>
-<ul class='spaced-list'>
-   <li>
-      The </l>title</l> and <l>description</l> annotations define the titles on the page.
-      <br>These can be globalized using <l>$L{...}</l> variables, or by defining specially-named properties in the 
-      properties file for the resource.
-   <li>
-      In this case, the <l>path</l> annotation defines the context root of your application since it was 
-      not specified in the manifest or config file.
-      <br>Therefore, this resource is mapped to <l>http://localhost:10000</l>.
-   <li>
-      The <l>children</l> annotation make up the list of child resources.
-      <br>These child resources can be anything that extends from <l>Servlet</l>, although usually
-      they will be subclasses of <a href="org/apache/juneau/rest/BasicRestServlet.html" title="class in org.apache.juneau.rest"><code>BasicRestServlet</code></a> or other resource groups.
-</ul>
-<p>
-   If you click the <l>helloWorld</l> link in your application, you'll get a simple hello world message:
-</p>
-<p class='bpcode w800'>
-   http://localhost:10000/helloWorld
-</p>        
-<img class='bordered w800' src='doc-files/juneau-microservice-server.ResourceClasses.1.png'>
+   File logDir = c.getObject(<js>"Logging/logDir"</js>, File.<jk>class</jk>);
+   boolean append = c.getBoolean(<js>"Logging/append"</js>);
+   String format = c.getString(<js>"Logging/format"</js>, <js>"[{date} {level}] {msg}%n"</js>);
+   long limit = c.getLong(<js>"Logging/limit"</js>);
+   Map&lt;String,Level&gt; levels = c.getObject(<js>"Logging/levels"</js>, Map.<jk>class</jk>, String.<jk>class</jk>, Level.<jk>class</jk>);
+</p>  
 <p>
-   ...which is generated by this class...
-</p>
-<p class='bpcode w800'>
-   <ja>@RestResource</ja>(
-      path=<js>"/helloWorld"</js>,
-      title=<js>"Hello World example"</js>,
-      description=<js>"Simplest possible REST resource"</js>
-   )
-   <jk>public class</jk> HelloWorldResource <jk>extends</jk> BasicRestServlet {
-   
-      <ja>@RestMethod</ja>(name=<jsf>GET</jsf>, path=<js>"/*"</js>)
-      <jk>public</jk> String sayHello() {
-         <jk>return</jk> <js>"Hello world!"</js>;
-      }
-   }     
+   Changes to the configuration file can trigger notifications that can be used to restart your microservice or make various other
+   on-the-fly changes.  
+   This can be accomplished by either overriding the <a href="org/apache/juneau/microservice/Microservice.html#onConfigChange-java.util.List-"><code>Microservice.onConfigChange(List)</code></a> or implementing
+   a listener and using the <a href="org/apache/juneau/microservice/MicroserviceListener.html#onConfigChange-org.apache.juneau.microservice.Microservice-java.util.List-"><code>MicroserviceListener.onConfigChange(Microservice,List)</code></a> methods.
+   <br>These will be described in detail later.
 </p>
-</div><!-- END: 11.5 - juneau-microservice-core.ResourceClasses -->
+</div><!-- END: 11.5 - juneau-microservice-core.Config -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic todo' onclick='toggle(this)'><a href='#juneau-microservice-core.PredefinedResourceClasses' id='juneau-microservice-core.PredefinedResourceClasses'>11.6 - Predefined Resource Classes</a></h3>
-<div class='topic'><!-- START: 11.6 - juneau-microservice-core.PredefinedResourceClasses -->
+<h3 class='topic todo' onclick='toggle(this)'><a href='#juneau-microservice-core.VarResolver' id='juneau-microservice-core.VarResolver'>11.6 - VarResolver</a></h3>
+<div class='topic'><!-- START: 11.6 - juneau-microservice-core.VarResolver -->
 <p>
-   The following predefined resource classes are also provided for easy inclusion into your microservice:
+   TODO
 </p>
 <ul class='doctree'>
-   <li class='jc'><a href="org/apache/juneau/microservice/resources/ConfigResource.html" title="class in org.apache.juneau.microservice.resources"><code>ConfigResource</code></a>
-      - View and modify the external INI config file.
-   <li class='jc'><a href="org/apache/juneau/microservice/resources/DirectoryResource.html" title="class in org.apache.juneau.microservice.resources"><code>DirectoryResource</code></a>
-      - View and modify file system directories.
-   <li class='jc'><a href="org/apache/juneau/microservice/resources/LogsResource.html" title="class in org.apache.juneau.microservice.resources"><code>LogsResource</code></a>
-      - View and control generated log files.
-   <li class='jc'><a href="org/apache/juneau/microservice/resources/SampleRootResource.html" title="class in org.apache.juneau.microservice.resources"><code>SampleRootResource</code></a>
-      - A sample root resource class to get started from.
-   <li class='jc'><a href="org/apache/juneau/microservice/resources/ShutdownResource.html" title="class in org.apache.juneau.microservice.resources"><code>ShutdownResource</code></a>
-      - Shutdown and/or restart the JVM.
+   <li class='jc'><a href="org/apache/juneau/microservice/MicroserviceBuilder.html" title="class in org.apache.juneau.microservice"><code>MicroserviceBuilder</code></a>
+   <ul>
+      <li class='jm'><a href="org/apache/juneau/microservice/MicroserviceBuilder.html#args-java.lang.String...-"><code>args(String...)</code></a> 
+      <li class='jm'><a href="org/apache/juneau/microservice/MicroserviceBuilder.html#config-org.apache.juneau.config.Config-"><code>config(Config)</code></a> 
+      <li class='jm'><a href="org/apache/juneau/microservice/MicroserviceBuilder.html#configName-java.lang.String-"><code>configName(String)</code></a> 
+      <li class='jm'><a href="org/apache/juneau/microservice/MicroserviceBuilder.html#configStore-org.apache.juneau.config.store.ConfigStore-"><code>configStore(ConfigStore)</code></a> 
+      <li class='jm'><a href="org/apache/juneau/microservice/MicroserviceBuilder.html#console-java.util.Scanner-java.io.PrintWriter-"><code>console(Scanner,PrintWriter)</code></a> 
+      <li class='jm'><code>consoleCommands(Scanner,PrintWriter)</code> 
+      <li class='jm'><a href="org/apache/juneau/microservice/MicroserviceBuilder.html#consoleEnabled-boolean-"><code>consoleEnabled(boolean)</code></a> 
+      <li class='jm'><a href="org/apache/juneau/microservice/MicroserviceBuilder.html#listener-org.apache.juneau.microservice.MicroserviceListener-"><code>listener(MicroserviceListener)</code></a> 
+      <li class='jm'><a href="org/apache/juneau/microservice/MicroserviceBuilder.html#logConfig-org.apache.juneau.microservice.LogConfig-"><code>logConfig(LogConfig)</code></a> 
+      <li class='jm'><a href="org/apache/juneau/microservice/MicroserviceBuilder.html#logger-java.util.logging.Logger-"><code>MicroserviceBuilder.logger(Logger)</code></a> 
+      <li class='jm'><a href="org/apache/juneau/microservice/MicroserviceBuilder.html#manifest-java.lang.Object-"><code>MicroserviceBuilder.manifest(Object)</code></a> 
+      <li class='jm'><a href="org/apache/juneau/microservice/MicroserviceBuilder.html#varContext-java.lang.String-java.lang.Object-"><code>varContext(String,Object)</code></a> 
+      <li class='jm'><code>vars(Class...)</code> 
+   </ul>
 </ul>
-</div><!-- END: 11.6 - juneau-microservice-core.PredefinedResourceClasses -->
+</div><!-- END: 11.6 - juneau-microservice-core.VarResolver -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic todo' onclick='toggle(this)'><a href='#juneau-microservice-core.RestMicroservice' id='juneau-microservice-core.RestMicroservice'>11.7 - RestMicroservice</a></h3>
-<div class='topic'><!-- START: 11.7 - juneau-microservice-core.RestMicroservice -->
+<h3 class='topic todo' onclick='toggle(this)'><a href='#juneau-microservice-core.ConsoleCommands' id='juneau-microservice-core.ConsoleCommands'>11.7 - Console Commands</a></h3>
+<div class='topic'><!-- START: 11.7 - juneau-microservice-core.ConsoleCommands -->
 <p>
-   The <code>RestMicroservice</code> class is the main application entry-point for REST 
-   microservices. 
+   TODO
 </p>
 <p>
-   The class hierarchy is:
+   The class consists of the following methods:
 </p>
 <ul class='doctree'>
-   <li class='jac'>
-      <a href="org/apache/juneau/microservice/Microservice.html" title="class in org.apache.juneau.microservice"><code>Microservice</code></a> 
-      - Abstract class that defines simple start/stop methods and access to the manifest file, config file, and 
-      arguments.
-      <ul>
-         <li class='jc'>
-            <code>RestMicroservice</code> 
-            - Specialized microservice for starting up REST interfaces using Jetty and specifying REST servlets
-            through the manifest file or config file.
-      </ul>
-   </li>
+   <li class='jc'><a href="org/apache/juneau/microservice/MicroserviceBuilder.html" title="class in org.apache.juneau.microservice"><code>MicroserviceBuilder</code></a>
+   <ul>
+      <li class='jm'><a href="org/apache/juneau/microservice/MicroserviceBuilder.html#args-java.lang.String...-"><code>args(String...)</code></a> 
+      <li class='jm'><a href="org/apache/juneau/microservice/MicroserviceBuilder.html#config-org.apache.juneau.config.Config-"><code>config(Config)</code></a> 
+      <li class='jm'><a href="org/apache/juneau/microservice/MicroserviceBuilder.html#configName-java.lang.String-"><code>configName(String)</code></a> 
+      <li class='jm'><a href="org/apache/juneau/microservice/MicroserviceBuilder.html#configStore-org.apache.juneau.config.store.ConfigStore-"><code>configStore(ConfigStore)</code></a> 
+      <li class='jm'><a href="org/apache/juneau/microservice/MicroserviceBuilder.html#console-java.util.Scanner-java.io.PrintWriter-"><code>console(Scanner,PrintWriter)</code></a> 
+      <li class='jm'><code>consoleCommands(Scanner,PrintWriter)</code> 
+      <li class='jm'><a href="org/apache/juneau/microservice/MicroserviceBuilder.html#consoleEnabled-boolean-"><code>consoleEnabled(boolean)</code></a> 
+      <li class='jm'><a href="org/apache/juneau/microservice/MicroserviceBuilder.html#listener-org.apache.juneau.microservice.MicroserviceListener-"><code>listener(MicroserviceListener)</code></a> 
+      <li class='jm'><a href="org/apache/juneau/microservice/MicroserviceBuilder.html#logConfig-org.apache.juneau.microservice.LogConfig-"><code>logConfig(LogConfig)</code></a> 
+      <li class='jm'><a href="org/apache/juneau/microservice/MicroserviceBuilder.html#logger-java.util.logging.Logger-"><code>MicroserviceBuilder.logger(Logger)</code></a> 
+      <li class='jm'><a href="org/apache/juneau/microservice/MicroserviceBuilder.html#manifest-java.lang.Object-"><code>MicroserviceBuilder.manifest(Object)</code></a> 
+      <li class='jm'><a href="org/apache/juneau/microservice/MicroserviceBuilder.html#varContext-java.lang.String-java.lang.Object-"><code>varContext(String,Object)</code></a> 
+      <li class='jm'><code>vars(Class...)</code> 
+   </ul>
 </ul>
+
+
+<h5 class='topic'>console(Scanner,PrintWriter), consoleCommands(ConsoleCommand...), consoleEnabled(boolean)</h5>
 <p>
-   Refer to the Javadocs for these class for more information.
+   The <a href="org/apache/juneau/microservice/MicroserviceBuilder.html#console-java.util.Scanner-java.io.PrintWriter-"><code>MicroserviceBuilder.console(Scanner,PrintWriter)</code></a> method can be used to set up a 
 </p>
+</div><!-- END: 11.7 - juneau-microservice-core.ConsoleCommands -->
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-microservice-core.RestMicroservice.Extending' id='juneau-microservice-core.RestMicroservice.Extending'>11.7.1 - Extending RestMicroservice</a></h4>
-<div class='topic'><!-- START: 11.7.1 - juneau-microservice-core.RestMicroservice.Extending -->
-<p>
-   This example shows how the <code>RestMicroservice</code> class
-   can be extended to implement lifecycle listener methods or override existing methods.
-   <br>We'll create a new class <l>com.foo.SampleCustomRestMicroservice</l>.
-</p>
-<p>
-   First, the manifest file needs to be modified to point to our new microservice:
-</p>
-<p class='bpcode w800'>
-   <mk>Main-Class:</mk> com.foo.SampleCustomRestMicroservice
-</p>
+<h3 class='topic todo' onclick='toggle(this)'><a href='#juneau-microservice-core.Logging' id='juneau-microservice-core.Logging'>11.8 - Logging</a></h3>
+<div class='topic'><!-- START: 11.8 - juneau-microservice-core.Logging -->
 <p>
-   Then we define the following class:
-</p>
-<p class='bpcode w800'>
-   <jd>/**
-    * Sample subclass of a RestMicroservice that provides customized behavior.
-    * This class must be specified in the Main-Class entry in the manifest file and optionally
-    *    a Main-ConfigFile entry.
-    */</jd>
-   <jk>public class</jk> SampleCustomRestMicroservice <jk>extends</jk> RestMicroservice {
-   
-      <jd>/**
-       * Must implement a main method and call start()!
-       */</jd>
-      <jk>public static void</jk> main(String[] args) <jk>throws</jk> Exception {
-         <jk>new</jk> SampleCustomRestMicroservice(args).start().join();
-      }
-   
-      <jd>/**
-       * Must implement a constructor!
-       * 
-       * <ja>@param</ja> args Command line arguments. 
-       * <ja>@throws</ja> Exception 
-       */</jd>
-      <jk>public</jk> SampleCustomRestMicroservice(String[] args) <jk>throws</jk> Exception {
-         <jk>super</jk>(args);
-      }
+   TODO
 </p>
 <p>
-   The microservice APIs provide several useful methods that can be used or extended.
+   The class consists of the following methods:
 </p>
-<h5 class='section'>See Also:</h5>
 <ul class='doctree'>
-   <li class='jac'><a href="org/apache/juneau/microservice/Microservice.html" title="class in org.apache.juneau.microservice"><code>Microservice</code></a>
-   <li class='jc'><code>RestMicroservice</code>
+   <li class='jc'><a href="org/apache/juneau/microservice/MicroserviceBuilder.html" title="class in org.apache.juneau.microservice"><code>MicroserviceBuilder</code></a>
+   <ul>
+      <li class='jm'><a href="org/apache/juneau/microservice/MicroserviceBuilder.html#args-java.lang.String...-"><code>args(String...)</code></a> 
+      <li class='jm'><a href="org/apache/juneau/microservice/MicroserviceBuilder.html#config-org.apache.juneau.config.Config-"><code>config(Config)</code></a> 
+      <li class='jm'><a href="org/apache/juneau/microservice/MicroserviceBuilder.html#configName-java.lang.String-"><code>configName(String)</code></a> 
+      <li class='jm'><a href="org/apache/juneau/microservice/MicroserviceBuilder.html#configStore-org.apache.juneau.config.store.ConfigStore-"><code>configStore(ConfigStore)</code></a> 
+      <li class='jm'><a href="org/apache/juneau/microservice/MicroserviceBuilder.html#console-java.util.Scanner-java.io.PrintWriter-"><code>console(Scanner,PrintWriter)</code></a> 
+      <li class='jm'><code>consoleCommands(Scanner,PrintWriter)</code> 
+      <li class='jm'><a href="org/apache/juneau/microservice/MicroserviceBuilder.html#consoleEnabled-boolean-"><code>consoleEnabled(boolean)</code></a> 
+      <li class='jm'><a href="org/apache/juneau/microservice/MicroserviceBuilder.html#listener-org.apache.juneau.microservice.MicroserviceListener-"><code>listener(MicroserviceListener)</code></a> 
+      <li class='jm'><a href="org/apache/juneau/microservice/MicroserviceBuilder.html#logConfig-org.apache.juneau.microservice.LogConfig-"><code>logConfig(LogConfig)</code></a> 
+      <li class='jm'><a href="org/apache/juneau/microservice/MicroserviceBuilder.html#logger-java.util.logging.Logger-"><code>MicroserviceBuilder.logger(Logger)</code></a> 
+      <li class='jm'><a href="org/apache/juneau/microservice/MicroserviceBuilder.html#manifest-java.lang.Object-"><code>MicroserviceBuilder.manifest(Object)</code></a> 
+      <li class='jm'><a href="org/apache/juneau/microservice/MicroserviceBuilder.html#varContext-java.lang.String-java.lang.Object-"><code>varContext(String,Object)</code></a> 
+      <li class='jm'><code>vars(Class...)</code> 
+   </ul>
 </ul>
-</div><!-- END: 11.7.1 - juneau-microservice-core.RestMicroservice.Extending -->
-</div><!-- END: 11.7 - juneau-microservice-core.RestMicroservice -->
+</div><!-- END: 11.8 - juneau-microservice-core.Logging -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic todo' onclick='toggle(this)'><a href='#juneau-microservice-core.UiCustomization' id='juneau-microservice-core.UiCustomization'>11.8 - UI Customization</a></h3>
-<div class='topic'><!-- START: 11.8 - juneau-microservice-core.UiCustomization -->
-<p>
-   The Microservice project contains a <code>files/htdocs</code> working directly folder with predefined stylesheets and
-   images.
-</p>
-<img style='width:200px' src='doc-files/juneau-microservice.UiCustomization.1.png'>
-<p>
-   These files can be used to tailor the look-and-feel of your microservice.
-</p>
-<p class='bpcode w800'>
-   http://localhost:10000/helloWorld
-</p>
-<img class='bordered w800' src='doc-files/juneau-rest-server.UiCustomization.1.png'>
-<p>
-   The REST configuration section of your microservice configuration file can be used to tailor the header and footer on the pages:
-</p>
-<p class='bpcode w800'>
-   <cc>#=======================================================================================================================
-   # REST settings
-   #=======================================================================================================================</cc>
-   <cs>[REST]</cs>
-   
-   <ck>staticFiles</ck> = <cv>htdocs:files/htdocs</cv>
-   
-   <cc># Stylesheet to use for HTML views.</cc>
-   <ck>theme</ck> = <cv>servlet:/htdocs/themes/devops.css</cv>
-   
-   <ck>headerIcon</ck> = <cv>servlet:/htdocs/images/juneau.png</cv>
-   <ck>headerLink</ck> = <cv>http://juneau.apache.org</cv>
-   <ck>footerIcon</ck> = <cv>servlet:/htdocs/images/asf.png</cv>
-   <ck>footerLink</ck> = <cv>http://www.apache.org</cv>
-   
-   <ck>favicon</ck> = <cv>$C{REST/headerIcon}</cv>
-   <ck>header</ck> = 
-      <cv>&lt;a href='$U{$C{REST/headerLink}}'&gt;</cv>
-         <cv>&lt;img src='$U{$C{REST/headerIcon}}' style='position:absolute;top:5;right:5;background-color:transparent;height:30px'/&gt;</cv>
-      <cv>&lt;/a&gt;</cv>
-   <ck>footer</ck> = 
-      <cv>&lt;a href='$U{$C{REST/footerLink}}'&gt;</cv>
-         <cv>&lt;img src='$U{$C{REST/footerIcon}}' style='float:right;padding-right:20px;height:32px'/&gt;</cv>
-      <cv>&lt;/a&gt;</cv>
-</p>
-<p>
-   The <a href="org/apache/juneau/rest/BasicRestConfig.html" title="interface in org.apache.juneau.rest"><code>BasicRestConfig</code></a> interface (which defines the default settings for <a href="org/apache/juneau/rest/BasicRestServlet.html" title="class in org.apache.juneau.rest"><code>BasicRestServlet</code></a> 
-   pulls in this information using <a href="org/apache/juneau/config/vars/ConfigVar.html" title="class in org.apache.juneau.config.vars"><code>$C</code></a> and <a href="org/apache/juneau/rest/vars/UrlVar.html" title="class in org.apache.juneau.rest.vars"><code>$U</code></a> variables:
-</p>
-<p class='bpcode w800'>
-   <ja>@RestResource</ja>(
-      ...
-      <jc>// HTML-page specific settings</jc>
-      htmldoc=<ja>@HtmlDoc</ja>(
-   
-         <jc>// Default page header contents.</jc>
-         header={
-            <js>"&lt;h1&gt;$R{resourceTitle}&lt;/h1&gt;"</js>,  <jc>// Use @RestResource(title)</jc>
-            <js>"&lt;h2&gt;$R{methodSummary,resourceDescription}&lt;/h2&gt;"</js>, <jc>// Use either @RestMethod(summary) or @RestResource(description)</jc>
-            <js>"$C{REST/header}"</js>  <jc>// Extra header HTML defined in external config file.</jc>
-         },
-   
-         <jc>// Default stylesheet to use for the page.
-         // Can be overridden from external config file.
-         // Default is DevOps look-and-feel (aka Depression look-and-feel).</jc>
-         stylesheet=<js>"$C{REST/theme,servlet:/htdocs/themes/devops.css}"</js>,
-   
-         <jc>// Default contents to add to the &lt;head&gt; section of the HTML page.
-         // Use it to add a favicon link to the page.</jc>
-         head={
-            <js>"&lt;link rel='icon' href='$U{$C{REST/favicon}}'/&gt;"</js>
-         },
-   
-         <jc>// No default page footer contents.
-         // Can be overridden from external config file.</jc>
-         footer=<js>"$C{REST/footer}"</js>
-      ),
-   
-      <jc>// Optional external configuration file.</jc>
-      config=<js>"$S{juneau.configFile}"</js>,
-   
-      <jc>// These are static files that are served up by the servlet under the specified sub-paths.
-      // For example, "/servletPath/htdocs/javadoc.css" resolves to the file "[servlet-package]/htdocs/javadoc.css"
-      // By default, we define static files through the external configuration file.</jc>
-      staticFiles=<js>"$C{REST/staticFiles}"</js>
-   )
-   <jk>public interface</jk> BasicRestConfig {}
-</p>
-<p>
-   Note that the <code>files/htdocs</code> directory is mapped to <js>"servlet:/htdocs"</js> using the <code>staticFiles</code>
-   setting.  This allows those files to be served up through the servlet through the URL <js>"/[servlet-path]/htdocs"</js>
-</p>
+<h3 class='topic todo' onclick='toggle(this)'><a href='#juneau-microservice-core.Listeners' id='juneau-microservice-core.Listeners'>11.9 - Listeners</a></h3>
+<div class='topic'><!-- START: 11.9 - juneau-microservice-core.Listeners -->
 <p>
-   The theme files are externally accessible and can be modified to produce any look-and-feel you desire.
-   The microservice still works without the files directory.  An embedded <code>devops.css</code> is included in the jar as a default spreadsheet.
+   TODO
 </p>
 <p>
-   If you're testing out changes in the theme stylesheets, you may want to set the following system property that prevents caching of those files so 
-   that you don't need to restart the microservice each time a change is made:
-</p>
-<p class='bpcode w800'>
-   <cc>#=======================================================================================================================
-   # System properties
-   #-----------------------------------------------------------------------------------------------------------------------
-   # These are arbitrary system properties that are set during startup.
-   #=======================================================================================================================</cc>
-   <cs>[SystemProperties]</cs>
-   
-   <cc># Disable classpath resource caching.
-   # Useful if you're attached using a debugger and you're modifying classpath resources while running.</cc>
-   <ck>RestContext.useClasspathResourceCaching.b</ck> = <cv>false</cv>
-
+   The class consists of the following methods:
 </p>
-</div><!-- END: 11.8 - juneau-microservice-core.UiCustomization -->
+<ul class='doctree'>
+   <li class='jc'><a href="org/apache/juneau/microservice/MicroserviceBuilder.html" title="class in org.apache.juneau.microservice"><code>MicroserviceBuilder</code></a>
+   <ul>
+      <li class='jm'><a href="org/apache/juneau/microservice/MicroserviceBuilder.html#args-java.lang.String...-"><code>args(String...)</code></a> 
+      <li class='jm'><a href="org/apache/juneau/microservice/MicroserviceBuilder.html#config-org.apache.juneau.config.Config-"><code>config(Config)</code></a> 
+      <li class='jm'><a href="org/apache/juneau/microservice/MicroserviceBuilder.html#configName-java.lang.String-"><code>configName(String)</code></a> 
+      <li class='jm'><a href="org/apache/juneau/microservice/MicroserviceBuilder.html#configStore-org.apache.juneau.config.store.ConfigStore-"><code>configStore(ConfigStore)</code></a> 
+      <li class='jm'><a href="org/apache/juneau/microservice/MicroserviceBuilder.html#console-java.util.Scanner-java.io.PrintWriter-"><code>console(Scanner,PrintWriter)</code></a> 
+      <li class='jm'><code>consoleCommands(Scanner,PrintWriter)</code> 
+      <li class='jm'><a href="org/apache/juneau/microservice/MicroserviceBuilder.html#consoleEnabled-boolean-"><code>consoleEnabled(boolean)</code></a> 
+      <li class='jm'><a href="org/apache/juneau/microservice/MicroserviceBuilder.html#listener-org.apache.juneau.microservice.MicroserviceListener-"><code>listener(MicroserviceListener)</code></a> 
+      <li class='jm'><a href="org/apache/juneau/microservice/MicroserviceBuilder.html#logConfig-org.apache.juneau.microservice.LogConfig-"><code>logConfig(LogConfig)</code></a> 
+      <li class='jm'><a href="org/apache/juneau/microservice/MicroserviceBuilder.html#logger-java.util.logging.Logger-"><code>MicroserviceBuilder.logger(Logger)</code></a> 
+      <li class='jm'><a href="org/apache/juneau/microservice/MicroserviceBuilder.html#manifest-java.lang.Object-"><code>MicroserviceBuilder.manifest(Object)</code></a> 
+      <li class='jm'><a href="org/apache/juneau/microservice/MicroserviceBuilder.html#varContext-java.lang.String-java.lang.Object-"><code>varContext(String,Object)</code></a> 
+      <li class='jm'><code>vars(Class...)</code> 
+   </ul>
+</ul>
+</div><!-- END: 11.9 - juneau-microservice-core.Listeners -->
 </div><!-- END: 11 - juneau-microservice-core -->
 
 <!-- ==================================================================================================== -->
@@ -25833,7 +25550,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-examples-core.Examples' id='juneau-examples-core.Examples'>14.1 - Examples</a></h3>
+<h3 class='topic todo' onclick='toggle(this)'><a href='#juneau-examples-core.Examples' id='juneau-examples-core.Examples'>14.1 - Examples</a></h3>
 <div class='topic'><!-- START: 14.1 - juneau-examples-core.Examples -->
 <p>
    The following shows the core examples provided:
diff --git a/content/site/apidocs-8.0.0/resources/docs.txt b/content/site/apidocs-8.0.0/resources/docs.txt
index 6dfcbae..3141221 100644
--- a/content/site/apidocs-8.0.0/resources/docs.txt
+++ b/content/site/apidocs-8.0.0/resources/docs.txt
@@ -204,20 +204,15 @@ juneau-marshall.XmlDetails.XmlChildNameAnnotation = #juneau-marshall.XmlDetails.
 juneau-marshall.XmlDetails.XmlFormatAnnotation = #juneau-marshall.XmlDetails.XmlFormatAnnotation, Overview > juneau-marshall > XML Details > @Xml(format) Annotation
 juneau-marshall.XmlDetails.XmlSchema = #juneau-marshall.XmlDetails.XmlSchema, Overview > juneau-marshall > XML Details > XML-Schema Support
 juneau-microservice-core = #juneau-microservice-core, Overview > juneau-microservice-core
+juneau-microservice-core.Args = #juneau-microservice-core.Args, Overview > juneau-microservice-core > Args
 juneau-microservice-core.Config = #juneau-microservice-core.Config, Overview > juneau-microservice-core > Config
-juneau-microservice-core.Config.ConfigApi = #juneau-microservice-core.Config.ConfigApi, Overview > juneau-microservice-core > Config > Config File API
-juneau-microservice-core.GettingStarted = #juneau-microservice-core.GettingStarted, Overview > juneau-microservice-core > Getting Started
-juneau-microservice-core.GettingStarted.Building = #juneau-microservice-core.GettingStarted.Building, Overview > juneau-microservice-core > Getting Started > Building and Running from Command-Line
-juneau-microservice-core.GettingStarted.Installing = #juneau-microservice-core.GettingStarted.Installing, Overview > juneau-microservice-core > Getting Started > Installing in Eclipse
-juneau-microservice-core.GettingStarted.Running = #juneau-microservice-core.GettingStarted.Running, Overview > juneau-microservice-core > Getting Started > Running in Eclipse
-juneau-microservice-core.Manifest = #juneau-microservice-core.Manifest, Overview > juneau-microservice-core > Manifest File
-juneau-microservice-core.Manifest.ManifestApi = #juneau-microservice-core.Manifest.ManifestApi, Overview > juneau-microservice-core > Manifest File > Manifest API
+juneau-microservice-core.ConsoleCommands = #juneau-microservice-core.ConsoleCommands, Overview > juneau-microservice-core > Console Commands
+juneau-microservice-core.LifecycleMethods = #juneau-microservice-core.LifecycleMethods, Overview > juneau-microservice-core > Lifecycle Methods
+juneau-microservice-core.Listeners = #juneau-microservice-core.Listeners, Overview > juneau-microservice-core > Listeners
+juneau-microservice-core.Logging = #juneau-microservice-core.Logging, Overview > juneau-microservice-core > Logging
+juneau-microservice-core.Manifest = #juneau-microservice-core.Manifest, Overview > juneau-microservice-core > Manifest
 juneau-microservice-core.Overview = #juneau-microservice-core.Overview, Overview > juneau-microservice-core > Microservice Overview
-juneau-microservice-core.PredefinedResourceClasses = #juneau-microservice-core.PredefinedResourceClasses, Overview > juneau-microservice-core > Predefined Resource Classes
-juneau-microservice-core.ResourceClasses = #juneau-microservice-core.ResourceClasses, Overview > juneau-microservice-core > Resource Classes
-juneau-microservice-core.RestMicroservice = #juneau-microservice-core.RestMicroservice, Overview > juneau-microservice-core > RestMicroservice
-juneau-microservice-core.RestMicroservice.Extending = #juneau-microservice-core.RestMicroservice.Extending, Overview > juneau-microservice-core > RestMicroservice > Extending RestMicroservice
-juneau-microservice-core.UiCustomization = #juneau-microservice-core.UiCustomization, Overview > juneau-microservice-core > UI Customization
+juneau-microservice-core.VarResolver = #juneau-microservice-core.VarResolver, Overview > juneau-microservice-core > VarResolver
 juneau-microservice-jetty = #juneau-microservice-jetty, Overview > juneau-microservice-jetty
 juneau-microservice-jetty-template = #juneau-microservice-jetty-template, Overview > juneau-microservice-jetty-template
 juneau-microservice-jetty.Config = #juneau-microservice-jetty.Config, Overview > juneau-microservice-jetty > Config
diff --git a/content/site/apidocs-8.0.0/resources/fragments/toc.html b/content/site/apidocs-8.0.0/resources/fragments/toc.html
index 4216657..9b70fd5 100644
--- a/content/site/apidocs-8.0.0/resources/fragments/toc.html
+++ b/content/site/apidocs-8.0.0/resources/fragments/toc.html
@@ -336,30 +336,17 @@
 		<li><p class=''><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-client.UnitTesting'>Serverless Unit Testing</a></p>
 		<li><p class=''><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-client.Other'>Other Useful Methods</a></p>
 	</ol>
-	<li><p class='toc2 todo'><a class='doclink' href='{OVERVIEW_URL}#juneau-microservice-core'>juneau-microservice-core</a></p>
+	<li><p class='toc2 new'><a class='doclink' href='{OVERVIEW_URL}#juneau-microservice-core'>juneau-microservice-core</a></p>
 	<ol>
 		<li><p class='todo'><a class='doclink' href='{OVERVIEW_URL}#juneau-microservice-core.Overview'>Microservice Overview</a></p>
-		<li><p class='todo'><a class='doclink' href='{OVERVIEW_URL}#juneau-microservice-core.GettingStarted'>Getting Started</a></p>
-		<ol>
-			<li><p class=''><a class='doclink' href='{OVERVIEW_URL}#juneau-microservice-core.GettingStarted.Installing'>Installing in Eclipse</a></p>
-			<li><p class=''><a class='doclink' href='{OVERVIEW_URL}#juneau-microservice-core.GettingStarted.Running'>Running in Eclipse</a></p>
-			<li><p class=''><a class='doclink' href='{OVERVIEW_URL}#juneau-microservice-core.GettingStarted.Building'>Building and Running from Command-Line</a></p>
-		</ol>
-		<li><p class='todo'><a class='doclink' href='{OVERVIEW_URL}#juneau-microservice-core.Manifest'>Manifest File</a></p>
-		<ol>
-			<li><p class=''><a class='doclink' href='{OVERVIEW_URL}#juneau-microservice-core.Manifest.ManifestApi'>Manifest API</a></p>
-		</ol>
+		<li><p class='todo'><a class='doclink' href='{OVERVIEW_URL}#juneau-microservice-core.LifecycleMethods'>Lifecycle Methods</a></p>
+		<li><p class='todo'><a class='doclink' href='{OVERVIEW_URL}#juneau-microservice-core.Args'>Args</a></p>
+		<li><p class='todo'><a class='doclink' href='{OVERVIEW_URL}#juneau-microservice-core.Manifest'>Manifest</a></p>
 		<li><p class='todo'><a class='doclink' href='{OVERVIEW_URL}#juneau-microservice-core.Config'>Config</a></p>
-		<ol>
-			<li><p class=''><a class='doclink' href='{OVERVIEW_URL}#juneau-microservice-core.Config.ConfigApi'>Config File API</a></p>
-		</ol>
-		<li><p class='todo'><a class='doclink' href='{OVERVIEW_URL}#juneau-microservice-core.ResourceClasses'>Resource Classes</a></p>
-		<li><p class='todo'><a class='doclink' href='{OVERVIEW_URL}#juneau-microservice-core.PredefinedResourceClasses'>Predefined Resource Classes</a></p>
-		<li><p class='todo'><a class='doclink' href='{OVERVIEW_URL}#juneau-microservice-core.RestMicroservice'>RestMicroservice</a></p>
-		<ol>
-			<li><p class=''><a class='doclink' href='{OVERVIEW_URL}#juneau-microservice-core.RestMicroservice.Extending'>Extending RestMicroservice</a></p>
-		</ol>
-		<li><p class='todo'><a class='doclink' href='{OVERVIEW_URL}#juneau-microservice-core.UiCustomization'>UI Customization</a></p>
+		<li><p class='todo'><a class='doclink' href='{OVERVIEW_URL}#juneau-microservice-core.VarResolver'>VarResolver</a></p>
+		<li><p class='todo'><a class='doclink' href='{OVERVIEW_URL}#juneau-microservice-core.ConsoleCommands'>Console Commands</a></p>
+		<li><p class='todo'><a class='doclink' href='{OVERVIEW_URL}#juneau-microservice-core.Logging'>Logging</a></p>
+		<li><p class='todo'><a class='doclink' href='{OVERVIEW_URL}#juneau-microservice-core.Listeners'>Listeners</a></p>
 	</ol>
 	<li><p class='toc2 todo'><a class='doclink' href='{OVERVIEW_URL}#juneau-microservice-jetty'>juneau-microservice-jetty</a></p>
 	<ol>
@@ -389,7 +376,7 @@
 	<li><p class='toc2 todo'><a class='doclink' href='{OVERVIEW_URL}#juneau-microservice-jetty-template'>juneau-microservice-jetty-template</a></p>
 	<li><p class='toc2 '><a class='doclink' href='{OVERVIEW_URL}#juneau-examples-core'>juneau-examples-core</a></p>
 	<ol>
-		<li><p class=''><a class='doclink' href='{OVERVIEW_URL}#juneau-examples-core.Examples'>Examples</a></p>
+		<li><p class='todo'><a class='doclink' href='{OVERVIEW_URL}#juneau-examples-core.Examples'>Examples</a></p>
 	</ol>
 	<li><p class='toc2 todo'><a class='doclink' href='{OVERVIEW_URL}#juneau-examples-rest'>juneau-examples-rest</a></p>
 	<ol>
diff --git a/content/site/apidocs-8.0.0/src-html/org/apache/juneau/microservice/MicroserviceBuilder.html b/content/site/apidocs-8.0.0/src-html/org/apache/juneau/microservice/MicroserviceBuilder.html
index ec6b6e6..9db3203 100644
--- a/content/site/apidocs-8.0.0/src-html/org/apache/juneau/microservice/MicroserviceBuilder.html
+++ b/content/site/apidocs-8.0.0/src-html/org/apache/juneau/microservice/MicroserviceBuilder.html
@@ -232,165 +232,169 @@
 <span class="sourceLineNo">224</span>    * Specifies the config name for initializing this microservice.<a name="line.224"></a>
 <span class="sourceLineNo">225</span>    *<a name="line.225"></a>
 <span class="sourceLineNo">226</span>    * &lt;p&gt;<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    * By default, we use a {@link ConfigFileStore} store for configuration files.<a name="line.227"></a>
-<span class="sourceLineNo">228</span>    * If the store is not overridden, then the config name represents the path of the configuration file relative to the<a name="line.228"></a>
-<span class="sourceLineNo">229</span>    * JVM working directory.<a name="line.229"></a>
-<span class="sourceLineNo">230</span>    *<a name="line.230"></a>
-<span class="sourceLineNo">231</span>    * &lt;p&gt;<a name="line.231"></a>
-<span class="sourceLineNo">232</span>    * If you do not specify the config file location, we attempt to resolve it through the following methods:<a name="line.232"></a>
-<span class="sourceLineNo">233</span>    * &lt;ol class='spaced-list'&gt;<a name="line.233"></a>
-<span class="sourceLineNo">234</span>    *    &lt;li&gt;<a name="line.234"></a>
-<span class="sourceLineNo">235</span>    *       The &lt;js&gt;"configFile"&lt;/js&gt; argument in the command line arguments passed in through the constructor.<a name="line.235"></a>
-<span class="sourceLineNo">236</span>    *    &lt;li&gt;<a name="line.236"></a>
-<span class="sourceLineNo">237</span>    *       The value of the &lt;code&gt;Main-Config&lt;/code&gt; entry in the manifest file.<a name="line.237"></a>
-<span class="sourceLineNo">238</span>    *    &lt;li&gt;<a name="line.238"></a>
-<span class="sourceLineNo">239</span>    *       A config file in the same location and with the same name as the executable jar file.<a name="line.239"></a>
-<span class="sourceLineNo">240</span>    *       (e.g. &lt;js&gt;"java -jar myjar.jar"&lt;/js&gt; will look for &lt;js&gt;"myjar.cfg"&lt;/js&gt;).<a name="line.240"></a>
-<span class="sourceLineNo">241</span>    *    &lt;li&gt;<a name="line.241"></a>
-<span class="sourceLineNo">242</span>    *       Any other &lt;js&gt;"*.cfg"&lt;/js&gt; file that can be found in the working directory.<a name="line.242"></a>
-<span class="sourceLineNo">243</span>    * &lt;/ol&gt;<a name="line.243"></a>
-<span class="sourceLineNo">244</span>    *<a name="line.244"></a>
-<span class="sourceLineNo">245</span>    * @param configName The configuration name.<a name="line.245"></a>
-<span class="sourceLineNo">246</span>    * @return This object (for method chaining).<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    */<a name="line.247"></a>
-<span class="sourceLineNo">248</span>   public MicroserviceBuilder configName(String configName) {<a name="line.248"></a>
-<span class="sourceLineNo">249</span>      this.configName = configName;<a name="line.249"></a>
-<span class="sourceLineNo">250</span>      return this;<a name="line.250"></a>
-<span class="sourceLineNo">251</span>   }<a name="line.251"></a>
-<span class="sourceLineNo">252</span><a name="line.252"></a>
-<span class="sourceLineNo">253</span>   /**<a name="line.253"></a>
-<span class="sourceLineNo">254</span>    * Specifies the config store to use for storing and retrieving configurations.<a name="line.254"></a>
-<span class="sourceLineNo">255</span>    *<a name="line.255"></a>
-<span class="sourceLineNo">256</span>    * &lt;p&gt;<a name="line.256"></a>
-<span class="sourceLineNo">257</span>    * By default, we use a {@link ConfigFileStore} store for configuration files.<a name="line.257"></a>
-<span class="sourceLineNo">258</span>    *<a name="line.258"></a>
-<span class="sourceLineNo">259</span>    * @param configStore The configuration name.<a name="line.259"></a>
-<span class="sourceLineNo">260</span>    * @return This object (for method chaining).<a name="line.260"></a>
-<span class="sourceLineNo">261</span>    */<a name="line.261"></a>
-<span class="sourceLineNo">262</span>   public MicroserviceBuilder configStore(ConfigStore configStore) {<a name="line.262"></a>
-<span class="sourceLineNo">263</span>      this.configStore = configStore;<a name="line.263"></a>
-<span class="sourceLineNo">264</span>      return this;<a name="line.264"></a>
-<span class="sourceLineNo">265</span>   }<a name="line.265"></a>
-<span class="sourceLineNo">266</span><a name="line.266"></a>
-<span class="sourceLineNo">267</span>   /**<a name="line.267"></a>
-<span class="sourceLineNo">268</span>    * Specifies that the Java console is enabled for this microservice.<a name="line.268"></a>
-<span class="sourceLineNo">269</span>    *<a name="line.269"></a>
-<span class="sourceLineNo">270</span>    * &lt;p&gt;<a name="line.270"></a>
-<span class="sourceLineNo">271</span>    * If not specified, this value is taken from the &lt;js&gt;"Console/enabled"&lt;/js&gt; configuration setting.<a name="line.271"></a>
-<span class="sourceLineNo">272</span>    * If not specified in the configuration, defaults to &lt;jk&gt;false&lt;/jk&gt;.<a name="line.272"></a>
+<span class="sourceLineNo">227</span>    * If you do not specify the config file location, we attempt to resolve it through the following methods:<a name="line.227"></a>
+<span class="sourceLineNo">228</span>    * &lt;ol class='spaced-list'&gt;<a name="line.228"></a>
+<span class="sourceLineNo">229</span>    *    &lt;li&gt;<a name="line.229"></a>
+<span class="sourceLineNo">230</span>    *       Resolve file first in working directory, then in classpath, using the following names:<a name="line.230"></a>
+<span class="sourceLineNo">231</span>    *       &lt;ul&gt;<a name="line.231"></a>
+<span class="sourceLineNo">232</span>    *          &lt;li&gt;<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    *             The &lt;js&gt;"configFile"&lt;/js&gt; argument in the command line arguments passed in through the constructor.<a name="line.233"></a>
+<span class="sourceLineNo">234</span>    *          &lt;li&gt;<a name="line.234"></a>
+<span class="sourceLineNo">235</span>    *             The value of the &lt;code&gt;Main-Config&lt;/code&gt; entry in the manifest file.<a name="line.235"></a>
+<span class="sourceLineNo">236</span>    *          &lt;li&gt;<a name="line.236"></a>
+<span class="sourceLineNo">237</span>    *             A config file in the same location and with the same name as the executable jar file.<a name="line.237"></a>
+<span class="sourceLineNo">238</span>    *             (e.g. &lt;js&gt;"java -jar myjar.jar"&lt;/js&gt; will look for &lt;js&gt;"myjar.cfg"&lt;/js&gt;).<a name="line.238"></a>
+<span class="sourceLineNo">239</span>    *       &lt;/ul&gt;<a name="line.239"></a>
+<span class="sourceLineNo">240</span>    *    &lt;li&gt;<a name="line.240"></a>
+<span class="sourceLineNo">241</span>    *       Resolve any &lt;js&gt;"*.cfg"&lt;/js&gt; file that can be found in the working directory.<a name="line.241"></a>
+<span class="sourceLineNo">242</span>    *    &lt;li&gt;<a name="line.242"></a>
+<span class="sourceLineNo">243</span>    *       Resolve any of the following files in the classpath:  &lt;js&gt;"juneau.cfg"&lt;/js&gt;, &lt;js&gt;"system.cfg"&lt;/js&gt;<a name="line.243"></a>
+<span class="sourceLineNo">244</span>    * &lt;/ol&gt;<a name="line.244"></a>
+<span class="sourceLineNo">245</span>    *<a name="line.245"></a>
+<span class="sourceLineNo">246</span>    * &lt;p&gt;<a name="line.246"></a>
+<span class="sourceLineNo">247</span>    * If no configuration file is found, and empty in-memory configuration is used.<a name="line.247"></a>
+<span class="sourceLineNo">248</span>    *<a name="line.248"></a>
+<span class="sourceLineNo">249</span>    * @param configName The configuration name.<a name="line.249"></a>
+<span class="sourceLineNo">250</span>    * @return This object (for method chaining).<a name="line.250"></a>
+<span class="sourceLineNo">251</span>    */<a name="line.251"></a>
+<span class="sourceLineNo">252</span>   public MicroserviceBuilder configName(String configName) {<a name="line.252"></a>
+<span class="sourceLineNo">253</span>      this.configName = configName;<a name="line.253"></a>
+<span class="sourceLineNo">254</span>      return this;<a name="line.254"></a>
+<span class="sourceLineNo">255</span>   }<a name="line.255"></a>
+<span class="sourceLineNo">256</span><a name="line.256"></a>
+<span class="sourceLineNo">257</span>   /**<a name="line.257"></a>
+<span class="sourceLineNo">258</span>    * Specifies the config store to use for storing and retrieving configurations.<a name="line.258"></a>
+<span class="sourceLineNo">259</span>    *<a name="line.259"></a>
+<span class="sourceLineNo">260</span>    * &lt;p&gt;<a name="line.260"></a>
+<span class="sourceLineNo">261</span>    * By default, we use a {@link ConfigFileStore} store for configuration files.<a name="line.261"></a>
+<span class="sourceLineNo">262</span>    *<a name="line.262"></a>
+<span class="sourceLineNo">263</span>    * @param configStore The configuration name.<a name="line.263"></a>
+<span class="sourceLineNo">264</span>    * @return This object (for method chaining).<a name="line.264"></a>
+<span class="sourceLineNo">265</span>    */<a name="line.265"></a>
+<span class="sourceLineNo">266</span>   public MicroserviceBuilder configStore(ConfigStore configStore) {<a name="line.266"></a>
+<span class="sourceLineNo">267</span>      this.configStore = configStore;<a name="line.267"></a>
+<span class="sourceLineNo">268</span>      return this;<a name="line.268"></a>
+<span class="sourceLineNo">269</span>   }<a name="line.269"></a>
+<span class="sourceLineNo">270</span><a name="line.270"></a>
+<span class="sourceLineNo">271</span>   /**<a name="line.271"></a>
+<span class="sourceLineNo">272</span>    * Specifies that the Java console is enabled for this microservice.<a name="line.272"></a>
 <span class="sourceLineNo">273</span>    *<a name="line.273"></a>
-<span class="sourceLineNo">274</span>    * @param consoleEnabled &lt;jk&gt;true&lt;/jk&gt; if the Java console is enabled for this microservice.<a name="line.274"></a>
-<span class="sourceLineNo">275</span>    * @return This object (for method chaining).<a name="line.275"></a>
-<span class="sourceLineNo">276</span>    */<a name="line.276"></a>
-<span class="sourceLineNo">277</span>   public MicroserviceBuilder consoleEnabled(boolean consoleEnabled) {<a name="line.277"></a>
-<span class="sourceLineNo">278</span>      this.consoleEnabled = consoleEnabled;<a name="line.278"></a>
-<span class="sourceLineNo">279</span>      return this;<a name="line.279"></a>
-<span class="sourceLineNo">280</span>   }<a name="line.280"></a>
-<span class="sourceLineNo">281</span><a name="line.281"></a>
-<span class="sourceLineNo">282</span>   /**<a name="line.282"></a>
-<span class="sourceLineNo">283</span>    * Specifies console commands to make available on the Java console.<a name="line.283"></a>
-<span class="sourceLineNo">284</span>    *<a name="line.284"></a>
-<span class="sourceLineNo">285</span>    * &lt;p&gt;<a name="line.285"></a>
-<span class="sourceLineNo">286</span>    * Note that these are ignored if the console is not enabled via {@link #consoleEnabled(boolean)}.<a name="line.286"></a>
-<span class="sourceLineNo">287</span>    *<a name="line.287"></a>
-<span class="sourceLineNo">288</span>    * &lt;p&gt;<a name="line.288"></a>
-<span class="sourceLineNo">289</span>    * This list augments the commands defined via the &lt;js&gt;"Console/commands"&lt;/js&gt; configuration setting.<a name="line.289"></a>
-<span class="sourceLineNo">290</span>    *<a name="line.290"></a>
-<span class="sourceLineNo">291</span>    * &lt;p&gt;<a name="line.291"></a>
-<span class="sourceLineNo">292</span>    * This method can only be used on console commands with no-arg constructors.<a name="line.292"></a>
-<span class="sourceLineNo">293</span>    *<a name="line.293"></a>
-<span class="sourceLineNo">294</span>    * @param consoleCommands The list of console commands to append to the list of available commands.<a name="line.294"></a>
-<span class="sourceLineNo">295</span>    * @return This object (for method chaining).<a name="line.295"></a>
-<span class="sourceLineNo">296</span>    * @throws IllegalAccessException<a name="line.296"></a>
-<span class="sourceLineNo">297</span>    * @throws InstantiationException<a name="line.297"></a>
-<span class="sourceLineNo">298</span>    */<a name="line.298"></a>
-<span class="sourceLineNo">299</span>   @SuppressWarnings("unchecked")<a name="line.299"></a>
-<span class="sourceLineNo">300</span>   public MicroserviceBuilder consoleCommands(Class&lt;? extends ConsoleCommand&gt;...consoleCommands) throws InstantiationException, IllegalAccessException {<a name="line.300"></a>
-<span class="sourceLineNo">301</span>      for (Class&lt;? extends ConsoleCommand&gt; cc : consoleCommands)<a name="line.301"></a>
-<span class="sourceLineNo">302</span>         this.consoleCommands.add(cc.newInstance());<a name="line.302"></a>
-<span class="sourceLineNo">303</span>      return this;<a name="line.303"></a>
-<span class="sourceLineNo">304</span>   }<a name="line.304"></a>
-<span class="sourceLineNo">305</span><a name="line.305"></a>
-<span class="sourceLineNo">306</span>   /**<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    * Specifies console commands to make available on the Java console.<a name="line.307"></a>
-<span class="sourceLineNo">308</span>    *<a name="line.308"></a>
-<span class="sourceLineNo">309</span>    * &lt;p&gt;<a name="line.309"></a>
-<span class="sourceLineNo">310</span>    * Note that these are ignored if the console is not enabled via {@link #consoleEnabled(boolean)}.<a name="line.310"></a>
-<span class="sourceLineNo">311</span>    *<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    * &lt;p&gt;<a name="line.312"></a>
-<span class="sourceLineNo">313</span>    * This list augments the commands defined via the &lt;js&gt;"Console/commands"&lt;/js&gt; configuration setting.<a name="line.313"></a>
-<span class="sourceLineNo">314</span>    *<a name="line.314"></a>
-<span class="sourceLineNo">315</span>    * @param consoleCommands The list of console commands to append to the list of available commands.<a name="line.315"></a>
-<span class="sourceLineNo">316</span>    * @return This object (for method chaining).<a name="line.316"></a>
-<span class="sourceLineNo">317</span>    */<a name="line.317"></a>
-<span class="sourceLineNo">318</span>   public MicroserviceBuilder consoleCommands(ConsoleCommand...consoleCommands) {<a name="line.318"></a>
-<span class="sourceLineNo">319</span>      this.consoleCommands.addAll(Arrays.asList(consoleCommands));<a name="line.319"></a>
-<span class="sourceLineNo">320</span>      return this;<a name="line.320"></a>
-<span class="sourceLineNo">321</span>   }<a name="line.321"></a>
-<span class="sourceLineNo">322</span><a name="line.322"></a>
-<span class="sourceLineNo">323</span>   /**<a name="line.323"></a>
-<span class="sourceLineNo">324</span>    * Specifies the console input and output.<a name="line.324"></a>
-<span class="sourceLineNo">325</span>    *<a name="line.325"></a>
-<span class="sourceLineNo">326</span>    * &lt;p&gt;<a name="line.326"></a>
-<span class="sourceLineNo">327</span>    * If not specified, uses the console returned by {@link System#console()}.<a name="line.327"></a>
-<span class="sourceLineNo">328</span>    * If that is not available, uses {@link System#in} and {@link System#out}.<a name="line.328"></a>
+<span class="sourceLineNo">274</span>    * &lt;p&gt;<a name="line.274"></a>
+<span class="sourceLineNo">275</span>    * If not specified, this value is taken from the &lt;js&gt;"Console/enabled"&lt;/js&gt; configuration setting.<a name="line.275"></a>
+<span class="sourceLineNo">276</span>    * If not specified in the configuration, defaults to &lt;jk&gt;false&lt;/jk&gt;.<a name="line.276"></a>
+<span class="sourceLineNo">277</span>    *<a name="line.277"></a>
+<span class="sourceLineNo">278</span>    * @param consoleEnabled &lt;jk&gt;true&lt;/jk&gt; if the Java console is enabled for this microservice.<a name="line.278"></a>
+<span class="sourceLineNo">279</span>    * @return This object (for method chaining).<a name="line.279"></a>
+<span class="sourceLineNo">280</span>    */<a name="line.280"></a>
+<span class="sourceLineNo">281</span>   public MicroserviceBuilder consoleEnabled(boolean consoleEnabled) {<a name="line.281"></a>
+<span class="sourceLineNo">282</span>      this.consoleEnabled = consoleEnabled;<a name="line.282"></a>
+<span class="sourceLineNo">283</span>      return this;<a name="line.283"></a>
+<span class="sourceLineNo">284</span>   }<a name="line.284"></a>
+<span class="sourceLineNo">285</span><a name="line.285"></a>
+<span class="sourceLineNo">286</span>   /**<a name="line.286"></a>
+<span class="sourceLineNo">287</span>    * Specifies console commands to make available on the Java console.<a name="line.287"></a>
+<span class="sourceLineNo">288</span>    *<a name="line.288"></a>
+<span class="sourceLineNo">289</span>    * &lt;p&gt;<a name="line.289"></a>
+<span class="sourceLineNo">290</span>    * Note that these are ignored if the console is not enabled via {@link #consoleEnabled(boolean)}.<a name="line.290"></a>
+<span class="sourceLineNo">291</span>    *<a name="line.291"></a>
+<span class="sourceLineNo">292</span>    * &lt;p&gt;<a name="line.292"></a>
+<span class="sourceLineNo">293</span>    * This list augments the commands defined via the &lt;js&gt;"Console/commands"&lt;/js&gt; configuration setting.<a name="line.293"></a>
+<span class="sourceLineNo">294</span>    *<a name="line.294"></a>
+<span class="sourceLineNo">295</span>    * &lt;p&gt;<a name="line.295"></a>
+<span class="sourceLineNo">296</span>    * This method can only be used on console commands with no-arg constructors.<a name="line.296"></a>
+<span class="sourceLineNo">297</span>    *<a name="line.297"></a>
+<span class="sourceLineNo">298</span>    * @param consoleCommands The list of console commands to append to the list of available commands.<a name="line.298"></a>
+<span class="sourceLineNo">299</span>    * @return This object (for method chaining).<a name="line.299"></a>
+<span class="sourceLineNo">300</span>    * @throws IllegalAccessException<a name="line.300"></a>
+<span class="sourceLineNo">301</span>    * @throws InstantiationException<a name="line.301"></a>
+<span class="sourceLineNo">302</span>    */<a name="line.302"></a>
+<span class="sourceLineNo">303</span>   @SuppressWarnings("unchecked")<a name="line.303"></a>
+<span class="sourceLineNo">304</span>   public MicroserviceBuilder consoleCommands(Class&lt;? extends ConsoleCommand&gt;...consoleCommands) throws InstantiationException, IllegalAccessException {<a name="line.304"></a>
+<span class="sourceLineNo">305</span>      for (Class&lt;? extends ConsoleCommand&gt; cc : consoleCommands)<a name="line.305"></a>
+<span class="sourceLineNo">306</span>         this.consoleCommands.add(cc.newInstance());<a name="line.306"></a>
+<span class="sourceLineNo">307</span>      return this;<a name="line.307"></a>
+<span class="sourceLineNo">308</span>   }<a name="line.308"></a>
+<span class="sourceLineNo">309</span><a name="line.309"></a>
+<span class="sourceLineNo">310</span>   /**<a name="line.310"></a>
+<span class="sourceLineNo">311</span>    * Specifies console commands to make available on the Java console.<a name="line.311"></a>
+<span class="sourceLineNo">312</span>    *<a name="line.312"></a>
+<span class="sourceLineNo">313</span>    * &lt;p&gt;<a name="line.313"></a>
+<span class="sourceLineNo">314</span>    * Note that these are ignored if the console is not enabled via {@link #consoleEnabled(boolean)}.<a name="line.314"></a>
+<span class="sourceLineNo">315</span>    *<a name="line.315"></a>
+<span class="sourceLineNo">316</span>    * &lt;p&gt;<a name="line.316"></a>
+<span class="sourceLineNo">317</span>    * This list augments the commands defined via the &lt;js&gt;"Console/commands"&lt;/js&gt; configuration setting.<a name="line.317"></a>
+<span class="sourceLineNo">318</span>    *<a name="line.318"></a>
+<span class="sourceLineNo">319</span>    * @param consoleCommands The list of console commands to append to the list of available commands.<a name="line.319"></a>
+<span class="sourceLineNo">320</span>    * @return This object (for method chaining).<a name="line.320"></a>
+<span class="sourceLineNo">321</span>    */<a name="line.321"></a>
+<span class="sourceLineNo">322</span>   public MicroserviceBuilder consoleCommands(ConsoleCommand...consoleCommands) {<a name="line.322"></a>
+<span class="sourceLineNo">323</span>      this.consoleCommands.addAll(Arrays.asList(consoleCommands));<a name="line.323"></a>
+<span class="sourceLineNo">324</span>      return this;<a name="line.324"></a>
+<span class="sourceLineNo">325</span>   }<a name="line.325"></a>
+<span class="sourceLineNo">326</span><a name="line.326"></a>
+<span class="sourceLineNo">327</span>   /**<a name="line.327"></a>
+<span class="sourceLineNo">328</span>    * Specifies the console input and output.<a name="line.328"></a>
 <span class="sourceLineNo">329</span>    *<a name="line.329"></a>
 <span class="sourceLineNo">330</span>    * &lt;p&gt;<a name="line.330"></a>
-<span class="sourceLineNo">331</span>    * Note that these are ignored if the console is not enabled via {@link #consoleEnabled(boolean)}.<a name="line.331"></a>
-<span class="sourceLineNo">332</span>    *<a name="line.332"></a>
-<span class="sourceLineNo">333</span>    * @param consoleReader The console input.<a name="line.333"></a>
-<span class="sourceLineNo">334</span>    * @param consoleWriter The console output.<a name="line.334"></a>
-<span class="sourceLineNo">335</span>    * @return This object (for method chaining).<a name="line.335"></a>
-<span class="sourceLineNo">336</span>    */<a name="line.336"></a>
-<span class="sourceLineNo">337</span>   public MicroserviceBuilder console(Scanner consoleReader, PrintWriter consoleWriter) {<a name="line.337"></a>
-<span class="sourceLineNo">338</span>      this.consoleReader = consoleReader;<a name="line.338"></a>
-<span class="sourceLineNo">339</span>      this.consoleWriter = consoleWriter;<a name="line.339"></a>
-<span class="sourceLineNo">340</span>      return this;<a name="line.340"></a>
-<span class="sourceLineNo">341</span>   }<a name="line.341"></a>
-<span class="sourceLineNo">342</span><a name="line.342"></a>
-<span class="sourceLineNo">343</span>   /**<a name="line.343"></a>
-<span class="sourceLineNo">344</span>    * Augments the set of variables defined in the configuration and var resolver.<a name="line.344"></a>
-<span class="sourceLineNo">345</span>    *<a name="line.345"></a>
-<span class="sourceLineNo">346</span>    * &lt;p&gt;<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    * This calls {@link VarResolverBuilder#vars(Class[])} on the var resolver used to construct the configuration<a name="line.347"></a>
-<span class="sourceLineNo">348</span>    * object returned by {@link Microservice#getConfig()} and the var resolver returned by {@link Microservice#getVarResolver()}.<a name="line.348"></a>
+<span class="sourceLineNo">331</span>    * If not specified, uses the console returned by {@link System#console()}.<a name="line.331"></a>
+<span class="sourceLineNo">332</span>    * If that is not available, uses {@link System#in} and {@link System#out}.<a name="line.332"></a>
+<span class="sourceLineNo">333</span>    *<a name="line.333"></a>
+<span class="sourceLineNo">334</span>    * &lt;p&gt;<a name="line.334"></a>
+<span class="sourceLineNo">335</span>    * Note that these are ignored if the console is not enabled via {@link #consoleEnabled(boolean)}.<a name="line.335"></a>
+<span class="sourceLineNo">336</span>    *<a name="line.336"></a>
+<span class="sourceLineNo">337</span>    * @param consoleReader The console input.<a name="line.337"></a>
+<span class="sourceLineNo">338</span>    * @param consoleWriter The console output.<a name="line.338"></a>
+<span class="sourceLineNo">339</span>    * @return This object (for method chaining).<a name="line.339"></a>
+<span class="sourceLineNo">340</span>    */<a name="line.340"></a>
+<span class="sourceLineNo">341</span>   public MicroserviceBuilder console(Scanner consoleReader, PrintWriter consoleWriter) {<a name="line.341"></a>
+<span class="sourceLineNo">342</span>      this.consoleReader = consoleReader;<a name="line.342"></a>
+<span class="sourceLineNo">343</span>      this.consoleWriter = consoleWriter;<a name="line.343"></a>
+<span class="sourceLineNo">344</span>      return this;<a name="line.344"></a>
+<span class="sourceLineNo">345</span>   }<a name="line.345"></a>
+<span class="sourceLineNo">346</span><a name="line.346"></a>
+<span class="sourceLineNo">347</span>   /**<a name="line.347"></a>
+<span class="sourceLineNo">348</span>    * Augments the set of variables defined in the configuration and var resolver.<a name="line.348"></a>
 <span class="sourceLineNo">349</span>    *<a name="line.349"></a>
-<span class="sourceLineNo">350</span>    * @param vars The set of variables to append to the var resolver builder.<a name="line.350"></a>
-<span class="sourceLineNo">351</span>    * @return This object (for method chaining).<a name="line.351"></a>
-<span class="sourceLineNo">352</span>    */<a name="line.352"></a>
-<span class="sourceLineNo">353</span>   @SuppressWarnings("unchecked")<a name="line.353"></a>
-<span class="sourceLineNo">354</span>   public MicroserviceBuilder vars(Class&lt;? extends Var&gt;...vars) {<a name="line.354"></a>
-<span class="sourceLineNo">355</span>      varResolverBuilder.vars(vars);<a name="line.355"></a>
-<span class="sourceLineNo">356</span>      return this;<a name="line.356"></a>
-<span class="sourceLineNo">357</span>   }<a name="line.357"></a>
-<span class="sourceLineNo">358</span><a name="line.358"></a>
-<span class="sourceLineNo">359</span>   /**<a name="line.359"></a>
-<span class="sourceLineNo">360</span>    * Adds a var resolver context object for vars defined in the configuration and var resolver.<a name="line.360"></a>
-<span class="sourceLineNo">361</span>    *<a name="line.361"></a>
-<span class="sourceLineNo">362</span>    * &lt;p&gt;<a name="line.362"></a>
-<span class="sourceLineNo">363</span>    * This calls {@link VarResolverBuilder#contextObject(String,Object)} on the var resolver used to construct the configuration<a name="line.363"></a>
-<span class="sourceLineNo">364</span>    * object returned by {@link Microservice#getConfig()} and the var resolver returned by {@link Microservice#getVarResolver()}.<a name="line.364"></a>
+<span class="sourceLineNo">350</span>    * &lt;p&gt;<a name="line.350"></a>
+<span class="sourceLineNo">351</span>    * This calls {@link VarResolverBuilder#vars(Class[])} on the var resolver used to construct the configuration<a name="line.351"></a>
+<span class="sourceLineNo">352</span>    * object returned by {@link Microservice#getConfig()} and the var resolver returned by {@link Microservice#getVarResolver()}.<a name="line.352"></a>
+<span class="sourceLineNo">353</span>    *<a name="line.353"></a>
+<span class="sourceLineNo">354</span>    * @param vars The set of variables to append to the var resolver builder.<a name="line.354"></a>
+<span class="sourceLineNo">355</span>    * @return This object (for method chaining).<a name="line.355"></a>
+<span class="sourceLineNo">356</span>    */<a name="line.356"></a>
+<span class="sourceLineNo">357</span>   @SuppressWarnings("unchecked")<a name="line.357"></a>
+<span class="sourceLineNo">358</span>   public MicroserviceBuilder vars(Class&lt;? extends Var&gt;...vars) {<a name="line.358"></a>
+<span class="sourceLineNo">359</span>      varResolverBuilder.vars(vars);<a name="line.359"></a>
+<span class="sourceLineNo">360</span>      return this;<a name="line.360"></a>
+<span class="sourceLineNo">361</span>   }<a name="line.361"></a>
+<span class="sourceLineNo">362</span><a name="line.362"></a>
+<span class="sourceLineNo">363</span>   /**<a name="line.363"></a>
+<span class="sourceLineNo">364</span>    * Adds a var resolver context object for vars defined in the configuration and var resolver.<a name="line.364"></a>
 <span class="sourceLineNo">365</span>    *<a name="line.365"></a>
-<span class="sourceLineNo">366</span>    * @param name The context object name.<a name="line.366"></a>
-<span class="sourceLineNo">367</span>    * @param object The context object.<a name="line.367"></a>
-<span class="sourceLineNo">368</span>    * @return This object (for method chaining).<a name="line.368"></a>
-<span class="sourceLineNo">369</span>    */<a name="line.369"></a>
-<span class="sourceLineNo">370</span>   public MicroserviceBuilder varContext(String name, Object object) {<a name="line.370"></a>
-<span class="sourceLineNo">371</span>      varResolverBuilder.contextObject(name, object);<a name="line.371"></a>
-<span class="sourceLineNo">372</span>      return this;<a name="line.372"></a>
-<span class="sourceLineNo">373</span>   }<a name="line.373"></a>
-<span class="sourceLineNo">374</span><a name="line.374"></a>
-<span class="sourceLineNo">375</span>   /**<a name="line.375"></a>
-<span class="sourceLineNo">376</span>    * Registers an event listener for this microservice.<a name="line.376"></a>
-<span class="sourceLineNo">377</span>    *<a name="line.377"></a>
-<span class="sourceLineNo">378</span>    * @param listener An event listener for this microservice.<a name="line.378"></a>
-<span class="sourceLineNo">379</span>    * @return This object (for method chaining).<a name="line.379"></a>
-<span class="sourceLineNo">380</span>    */<a name="line.380"></a>
-<span class="sourceLineNo">381</span>   public MicroserviceBuilder listener(MicroserviceListener listener) {<a name="line.381"></a>
-<span class="sourceLineNo">382</span>      this.listener = listener;<a name="line.382"></a>
-<span class="sourceLineNo">383</span>      return this;<a name="line.383"></a>
-<span class="sourceLineNo">384</span>   }<a name="line.384"></a>
-<span class="sourceLineNo">385</span>}<a name="line.385"></a>
+<span class="sourceLineNo">366</span>    * &lt;p&gt;<a name="line.366"></a>
+<span class="sourceLineNo">367</span>    * This calls {@link VarResolverBuilder#contextObject(String,Object)} on the var resolver used to construct the configuration<a name="line.367"></a>
+<span class="sourceLineNo">368</span>    * object returned by {@link Microservice#getConfig()} and the var resolver returned by {@link Microservice#getVarResolver()}.<a name="line.368"></a>
+<span class="sourceLineNo">369</span>    *<a name="line.369"></a>
+<span class="sourceLineNo">370</span>    * @param name The context object name.<a name="line.370"></a>
+<span class="sourceLineNo">371</span>    * @param object The context object.<a name="line.371"></a>
+<span class="sourceLineNo">372</span>    * @return This object (for method chaining).<a name="line.372"></a>
+<span class="sourceLineNo">373</span>    */<a name="line.373"></a>
+<span class="sourceLineNo">374</span>   public MicroserviceBuilder varContext(String name, Object object) {<a name="line.374"></a>
+<span class="sourceLineNo">375</span>      varResolverBuilder.contextObject(name, object);<a name="line.375"></a>
+<span class="sourceLineNo">376</span>      return this;<a name="line.376"></a>
+<span class="sourceLineNo">377</span>   }<a name="line.377"></a>
+<span class="sourceLineNo">378</span><a name="line.378"></a>
+<span class="sourceLineNo">379</span>   /**<a name="line.379"></a>
+<span class="sourceLineNo">380</span>    * Registers an event listener for this microservice.<a name="line.380"></a>
+<span class="sourceLineNo">381</span>    *<a name="line.381"></a>
+<span class="sourceLineNo">382</span>    * @param listener An event listener for this microservice.<a name="line.382"></a>
+<span class="sourceLineNo">383</span>    * @return This object (for method chaining).<a name="line.383"></a>
+<span class="sourceLineNo">384</span>    */<a name="line.384"></a>
+<span class="sourceLineNo">385</span>   public MicroserviceBuilder listener(MicroserviceListener listener) {<a name="line.385"></a>
+<span class="sourceLineNo">386</span>      this.listener = listener;<a name="line.386"></a>
+<span class="sourceLineNo">387</span>      return this;<a name="line.387"></a>
+<span class="sourceLineNo">388</span>   }<a name="line.388"></a>
+<span class="sourceLineNo">389</span>}<a name="line.389"></a>
 
 
 
diff --git a/content/site/apidocs-8.0.0/src-html/org/apache/juneau/svl/vars/ArgsVar.html b/content/site/apidocs-8.0.0/src-html/org/apache/juneau/svl/vars/ArgsVar.html
index ebab8fb..a9147a8 100644
--- a/content/site/apidocs-8.0.0/src-html/org/apache/juneau/svl/vars/ArgsVar.html
+++ b/content/site/apidocs-8.0.0/src-html/org/apache/juneau/svl/vars/ArgsVar.html
@@ -50,7 +50,7 @@
 <span class="sourceLineNo">042</span> *    VarResolver r = &lt;jk&gt;new&lt;/jk&gt; VarResolver().addVars(ArgsVar.&lt;js&gt;class&lt;/js&gt;);<a name="line.42"></a>
 <span class="sourceLineNo">043</span> *<a name="line.43"></a>
 <span class="sourceLineNo">044</span> *    &lt;jc&gt;// Use it!&lt;/jc&gt;<a name="line.44"></a>
-<span class="sourceLineNo">045</span> *    System.&lt;jsf&gt;out&lt;/jsf&gt;.println(r.resolve(&lt;js&gt;"Arg #1 is set to $A{1}"&lt;/js&gt;));<a name="line.45"></a>
+<span class="sourceLineNo">045</span> *    System.&lt;jsf&gt;out&lt;/jsf&gt;.println(r.resolve(&lt;js&gt;"Arg #1 is set to $ARGS{1}"&lt;/js&gt;));<a name="line.45"></a>
 <span class="sourceLineNo">046</span> * &lt;/p&gt;<a name="line.46"></a>
 <span class="sourceLineNo">047</span> *<a name="line.47"></a>
 <span class="sourceLineNo">048</span> * &lt;p&gt;<a name="line.48"></a>


Mime
View raw message