This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/master by this push:
     new 8bb9659  Javadoc updates.
8bb9659 is described below

commit 8bb9659328bf4d5fe29d8f1afee0f97ca574e3a6
Author: JamesBognar <[email protected]>
AuthorDate: Tue Feb 6 22:14:04 2018 -0500

    Javadoc updates.
---
 juneau-doc/src/.DS_Store                           | Bin 6148 -> 6148 bytes
 .../doc-files/MicroserviceServer.Installing.1.png  | Bin 44658 -> 156973 bytes
 .../doc-files/MicroserviceServer.Installing.2.png  | Bin 54971 -> 78192 bytes
 .../doc-files/MicroserviceServer.Installing.4.png  | Bin 28672 -> 0 bytes
 .../doc-files/MicroserviceServer.Installing.5.png  | Bin 8894 -> 0 bytes
 .../doc-files/MicroserviceServer.Installing.6.png  | Bin 22345 -> 82468 bytes
 .../MicroserviceServer.ResourceClasses.1.png       | Bin 14050 -> 58659 bytes
 juneau-doc/src/main/javadoc/overview.html          | 834 ++++++++-------------
 .../META-INF/MANIFEST.MF                           |  29 -
 .../build-overlay/.classpath                       |   2 +-
 .../build-overlay/.project                         |   6 +
 .../.settings/org.eclipse.jdt.core.prefs           |   6 +-
 .../build-overlay/pom.xml                          |  40 +-
 .../my-microservice.cfg                            |   2 +-
 .../org/apache/juneau/rest/client/RestCall.java    |   2 +-
 .../org/apache/juneau/rest/client/RestClient.java  |   3 +-
 .../juneau/rest/client/RestClientBuilder.java      |   5 +
 17 files changed, 361 insertions(+), 568 deletions(-)

diff --git a/juneau-doc/src/.DS_Store b/juneau-doc/src/.DS_Store
index 0787fb7..2ba7174 100644
Binary files a/juneau-doc/src/.DS_Store and b/juneau-doc/src/.DS_Store differ
diff --git 
a/juneau-doc/src/main/javadoc/doc-files/MicroserviceServer.Installing.1.png 
b/juneau-doc/src/main/javadoc/doc-files/MicroserviceServer.Installing.1.png
index 1234828..4ea5cec 100755
Binary files 
a/juneau-doc/src/main/javadoc/doc-files/MicroserviceServer.Installing.1.png and 
b/juneau-doc/src/main/javadoc/doc-files/MicroserviceServer.Installing.1.png 
differ
diff --git 
a/juneau-doc/src/main/javadoc/doc-files/MicroserviceServer.Installing.2.png 
b/juneau-doc/src/main/javadoc/doc-files/MicroserviceServer.Installing.2.png
index 4589f19..9caeff9 100755
Binary files 
a/juneau-doc/src/main/javadoc/doc-files/MicroserviceServer.Installing.2.png and 
b/juneau-doc/src/main/javadoc/doc-files/MicroserviceServer.Installing.2.png 
differ
diff --git 
a/juneau-doc/src/main/javadoc/doc-files/MicroserviceServer.Installing.4.png 
b/juneau-doc/src/main/javadoc/doc-files/MicroserviceServer.Installing.4.png
deleted file mode 100755
index b5e8471..0000000
Binary files 
a/juneau-doc/src/main/javadoc/doc-files/MicroserviceServer.Installing.4.png and 
/dev/null differ
diff --git 
a/juneau-doc/src/main/javadoc/doc-files/MicroserviceServer.Installing.5.png 
b/juneau-doc/src/main/javadoc/doc-files/MicroserviceServer.Installing.5.png
deleted file mode 100755
index 50504de..0000000
Binary files 
a/juneau-doc/src/main/javadoc/doc-files/MicroserviceServer.Installing.5.png and 
/dev/null differ
diff --git 
a/juneau-doc/src/main/javadoc/doc-files/MicroserviceServer.Installing.6.png 
b/juneau-doc/src/main/javadoc/doc-files/MicroserviceServer.Installing.6.png
old mode 100755
new mode 100644
index e730d32..b74fd98
Binary files 
a/juneau-doc/src/main/javadoc/doc-files/MicroserviceServer.Installing.6.png and 
b/juneau-doc/src/main/javadoc/doc-files/MicroserviceServer.Installing.6.png 
differ
diff --git 
a/juneau-doc/src/main/javadoc/doc-files/MicroserviceServer.ResourceClasses.1.png
 
b/juneau-doc/src/main/javadoc/doc-files/MicroserviceServer.ResourceClasses.1.png
old mode 100755
new mode 100644
index f5f0c7c..6a48f57
Binary files 
a/juneau-doc/src/main/javadoc/doc-files/MicroserviceServer.ResourceClasses.1.png
 and 
b/juneau-doc/src/main/javadoc/doc-files/MicroserviceServer.ResourceClasses.1.png
 differ
diff --git a/juneau-doc/src/main/javadoc/overview.html 
b/juneau-doc/src/main/javadoc/overview.html
index b81452e..46579a3 100644
--- a/juneau-doc/src/main/javadoc/overview.html
+++ b/juneau-doc/src/main/javadoc/overview.html
@@ -271,7 +271,6 @@
                        <li><p><a class='doclink' 
href='#juneau-microservice-server.ExtendingRestMicroservice'>Extending 
RestMicroservice</a></p>
                </ol>
        </ol>
-       <li><p><a class='doclink' 
href='#juneau-microservice-template'><i>juneau-microservice-template</i></a></p>
        <li><p><a class='doclink' 
href='#juneau-examples-core'><i>juneau-examples-core</i></a></p>
        <li><p><a class='doclink' 
href='#juneau-examples-rest'><i>juneau-examples-rest</i></a></p>
        <ol>
@@ -380,7 +379,7 @@
                                <th>Category</th><th>Maven 
Artifacts</th><th>Description</th><th>Prerequisites</th>
                        </tr>
                        <tr class='dark bb'>
-                               <td rowspan="5" 
style='text-align:center;font-weight:bold;padding:20px;' class='code'><a 
class='doclink' href='#juneau-core'>juneau-core</a></td>
+                               <td rowspan="5" 
style='text-align:center;font-weight:bold;padding:20px;' 
class='code'>juneau-core</td>
                                <td class='code'><a class='doclink' 
href='#juneau-marshall'>juneau-marshall</a></td>
                                <td>Serializers and parsers for:
                                        <ul style='margin:0px 10px;'>
@@ -451,7 +450,7 @@
                                <td><ul style='margin:0px 10px;'><li>Java 
6</li></ul></td>
                        </tr>
                        <tr class='light bb'>
-                               <td rowspan="3" 
style='text-align:center;font-weight:bold;padding:20px;' class='code'><a 
class='doclink' href='#juneau-rest'>juneau-rest</a></td>
+                               <td rowspan="3" 
style='text-align:center;font-weight:bold;padding:20px;' 
class='code'>juneau-rest</td>
                                <td class='code'><a class='doclink' 
href='#juneau-rest-server'>juneau-rest-server</a></td>
                                <td>
                                        REST Servlet API
@@ -488,7 +487,7 @@
                                </td>
                        </tr>
                        <tr class='dark bb'>
-                               <td rowspan="2" 
style='text-align:center;font-weight:bold;padding:20px;' class='code'><a 
class='doclink' href='#juneau-microservice'>juneau-microservice</a></td>
+                               <td rowspan="2" 
style='text-align:center;font-weight:bold;padding:20px;' 
class='code'>juneau-microservice</td>
                                <td class='code'><a class='doclink' 
href='#juneau-microservice-server'>juneau-microservice-server</a></td>
                                <td>
                                        REST Microservice Server API
@@ -500,20 +499,8 @@
                                        </ul>
                                </td>
                        </tr>
-                       <tr class='dark bb'>
-                               <td class='code'><a class='doclink' 
href='#juneau-microservice-template'>juneau-microservice-template</a></td>
-                               <td>
-                                       Developer template project
-                               </td>
-                               <td>
-                                       <ul style='margin:0px 10px;'>
-                                               <li>Java 8
-                                               <li>Eclipse Jetty 9.4.3
-                                       </ul>
-                               </td>
-                       </tr>
                        <tr class='light bb'>
-                               <td rowspan="2" 
style='text-align:center;font-weight:bold;padding:20px;' class='code'><a 
class='doclink' href='#juneau-examples'>juneau-examples</a></td>
+                               <td rowspan="2" 
style='text-align:center;font-weight:bold;padding:20px;' 
class='code'>juneau-examples</td>
                                <td class='code'><a class='doclink' 
href='#juneau-examples-core'>juneau-examples-core</a></td>
                                <td>
                                        Core code examples
@@ -9850,7 +9837,7 @@
                </p>
        
                <!-- 
=======================================================================================================
 -->
-               <a id="juneau-rest-client.SSL"></a>
+               <a id="juneau-rest-client.SSLOpts"></a>
                <h4 class='topic' onclick='toggle(this)'>9.2.1 - SSLOpts 
Bean</h4>
                <div class='topic'>
                        <p>
@@ -9881,7 +9868,7 @@
        </div>
        
        <!-- 
=======================================================================================================
 -->
-       <a id="juneau-rest-client.SSL"></a>
+       <a id="juneau-rest-client.Authentication"></a>
        <h3 class='topic' onclick='toggle(this)'>9.3 - Authentication</h3>
        <div class='topic'>
        
@@ -10310,7 +10297,7 @@
        </div>
        
        <!-- 
=======================================================================================================
 -->
-       <a id="#juneau-rest-client.Logging"></a>
+       <a id="juneau-rest-client.Logging"></a>
        <h3 class='topic' onclick='toggle(this)'>9.7 - Logging</h3>
        <div class='topic'>
                <p>
@@ -10334,7 +10321,7 @@
        </div>
        
        <!-- 
=======================================================================================================
 -->
-       <a id="#juneau-rest-client.Interceptors"></a>
+       <a id="juneau-rest-client.Interceptors"></a>
        <h3 class='topic' onclick='toggle(this)'>9.8 - Interceptors</h3>
        <div class='topic'>
                <p>
@@ -10438,7 +10425,7 @@
        </div>
        
        <!-- 
=======================================================================================================
 -->
-       <a id="#juneau-rest-client.Remoteable"></a>
+       <a id="juneau-rest-client.Remoteable"></a>
        <h3 class='topic' onclick='toggle(this)'>9.9 - Remoteable Proxies</h3>
        <div class='topic'>
                <p>
@@ -10487,7 +10474,7 @@
                        <li>
                                The method must be public.
                        <li>
-                               The parameter and return types must be <a 
href='../../../../../overview-summary.html#juneau-marshall.PojoCategories'>serializable
 and parsable</a>.
+                               The parameter and return types must be <a 
href='#juneau-marshall.PojoCategories'>serializable and parsable</a>.
                </ul>
                <p>
                        One significant feature is that the remoteable services 
servlet is a full-blown REST interface.  
@@ -10499,7 +10486,7 @@
        </div>
        
        <!-- 
=======================================================================================================
 -->
-       <a id="#juneau-rest-client.Other"></a>
+       <a id="juneau-rest-client.Other"></a>
        <h3 class='topic' onclick='toggle(this)'>9.10 - Other Useful 
Methods</h3>
        <div class='topic'>
                <p>
@@ -10565,6 +10552,11 @@
        org.apache.juneau.microservice.server_7.0.0.jar 
        </p>    
 
+       <h5 class='figure'>Microservice Starter Project</h5>
+       <p class='bcode' style='width:500px;'>
+       my-microservice.zip 
+       </p>    
+
        <p>
                Juneau Microservice is an API for creating stand-alone 
executable jars that can be used to 
                start lightweight configurable REST interfaces with all the 
power of the Juneau REST server and client APIs.
@@ -10628,7 +10620,7 @@
        <h3 class='topic' onclick='toggle(this)'>10.2 - Getting Started</h3>
        <div class='topic'>
                <p>
-                       The <l>microservice-project.zip</l> file is a zipped 
eclipse project that includes everything you 
+                       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.
                </p>    
        
@@ -10641,65 +10633,39 @@
                        </p>            
                        <ol class='spaced-list'>
                                <li>
-                                       Download the latest 
microservice-project zip file (e.g. <l>microservice-project-5.2.zip</l>).
-                               <li>
-                                       In your Eclipse workspace, go to 
<b>File-&gt;Import-&gt;General-&gt;Existing Projects into Workspace</b> 
-                                       and click <b>Next</b>.
-                                       <br><br>
-                                       <img class='bordered' 
src="doc-files/MicroserviceServer.Installing.1.png">
+                                       Download the latest 
microservice-project zip file (e.g. <l>my-microservice.zip</l>).
                                <li>
-                                       Select the zip file and click 
<b>Finish</b>.
+                                       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/MicroserviceServer.Installing.2.png">
+                                       <img class='bordered' 
src="doc-files/MicroserviceServer.Installing.1.png" style='width:549px'>
                                <li>
                                        In your workspace, you should now see 
the following project:
                                        <br><br>
-                                       <img class='bordered' 
src="doc-files/MicroserviceServer.Installing.3.png">
+                                       <img class='bordered' 
src="doc-files/MicroserviceServer.Installing.2.png" style='width:299px'>
                        </ol>
                        <p>
                                The important elements in this project are:
                        </p>
                        <ul class='spaced-list'>
                                <li>
-                                       <l>META-INF/MANIFEST.MF</l> - The 
manifest file.  
-                                       <br>This defines the entry point, 
classpath, top-level REST resources, and location of external 
-                                       configuration file. 
-                                       <br><br>
-                                       <p class='bcode'>
-       <mk>Main-Class</mk>: org.apache.juneau.microservice.RestMicroservice
-       <mk>Rest-Resources</mk>: 
-        org.apache.juneau.microservice.sample.RootResources
-       <mk>Main-ConfigFile</mk>: microservice.cfg
-       <mk>Class-Path</mk>: 
-        lib/commons-codec-1.9.jar 
-        lib/commons-io-1.2.jar 
-        lib/commons-logging-1.1.1.jar 
-        lib/httpclient-4.5.jar 
-        lib/httpcore-4.4.1.jar 
-        lib/httpmime-4.5.jar 
-        lib/javax.servlet-api-3.0.jar 
-        lib/jetty-all-8.1.0.jar 
-        lib/juneau-all-5.2.jar 
-        lib/org.apache.commons.fileupload_1.3.1.jar
-                                       </p>
-                               <li>
-                                       <l>RestMicroservice.java</l> - The 
application class. 
-                                       <br>This is a specialized microservice 
in Juneau for exposing REST servlets.
-                               <li>
                                        <l>RootResources.java</l> - The 
top-level REST resource. 
                                        <br>This class routes HTTP requests to 
child resources:
                                        <br><br>
                                        <p class='bcode'>
-       <jd>/**
-        * Root microservice page.
-        */</jd>
        <ja>@RestResource</ja>(
                path=<js>"/"</js>,
-               title=<js>"Juneau Microservice Template"</js>,
-               description=<js>"Template for creating REST microservices"</js>,
-               properties={
-                       <ja>@Property</ja>(name=<jsf>HTMLDOC_navlinks</jsf>, 
value=<js>"{options:'?method=OPTIONS'}"</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>,
@@ -10707,28 +10673,165 @@
                }
        )
        <jk>public class</jk> RootResources <jk>extends</jk> ResourceGroup {
-               <jc>// No actual code!</jc>
-       }               
+               <jc>// No code</jc>
+       }
                                        </p>
                                <li>
-                                       <l>microservice.cfg</l> - The external 
configuration file. 
-                                       <br>A deceivingly simple yet powerful 
INI-style configuration file:
+                                       <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'>
-       
<cc>#================================================================================
-       # Basic configuration file for SaaS microservices
+       
<cc>#=======================================================================================================================
+       # Basic configuration file for REST microservices
        # Subprojects can use this as a starting point.
-       
#================================================================================</cc>
+       
#=======================================================================================================================</cc>
        
-       
<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>
+       
+       <cc># Path of the jetty.xml file used to configure the Jetty 
server.</cc>
+       <ck>config</ck> = <cv>jetty.xml</cv>
+       
+       <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>
+       
#=======================================================================================================================</cc>
        <cs>[REST]</cs>
        
-       <cc># The HTTP port number to use.
-       # Default is Rest-Port setting in manifest file, or 8000.</cc>
-       <ck>port</ck> = <cv>10000</cv>
+       <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.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'>
+       <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>
@@ -10741,24 +10844,32 @@
                <h4 class='topic' onclick='toggle(this)'>10.2.2 - Running in 
Eclipse</h4>
                <div class='topic'>
                        <p>
-                               The <l>microservice-project.launch</l> file is 
already provided to allow you to quickly start
+                               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;microservice-project</b> and click <b>Run</b>.
+                               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>
-                       <img class='bordered' 
src="doc-files/MicroserviceServer.Installing.4.png">
-                       <p>
-                               In your console view, you should see the 
following output:
+                       <p class='bcode'>
+       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>
-                       <img class='bordered' 
src="doc-files/MicroserviceServer.Installing.5.png">
                        <p>
                                Now open your browser and point to 
<l>http://localhost:10000</l>.  
                                You should see the following:
                        </p>
-                       <img class='bordered' 
src="doc-files/MicroserviceServer.Installing.6.png">
+                       <img class='bordered' 
src="doc-files/MicroserviceServer.Installing.6.png" style='width:800px;'>
                        <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>
                
@@ -10767,20 +10878,43 @@
                <h4 class='topic' onclick='toggle(this)'>10.2.3 - Building and 
Running from Command-Line</h4>
                <div class='topic'>
                        <p>
-                               The <l>build.xml</l> file is a very basic ANT 
script for creating your microservice
-                               as an executable jar.
+                               The <l>pom.xml</l> file is a basic Maven build 
script for creating your microservice
+                               as an executable uber-jar.
                        </p>
                        <p>
-                               To build your microservice, right-click on 
<l>build.xml</l> and select <b>Run As-&gt;Ant Build</b>.
-                               Once complete (which should only take about 1 
second), if you refresh your project, you should see the 
-                               following new directory:
+                               The easiest way to build your microservice is 
to run the following from the project root.
+                       </p>
+                       <p class='bcode'>
+       mvn clean install
                        </p>
-                       <img class='bordered' 
src='doc-files/MicroserviceServer.Building.1.png'>
                        <p>
-                               If you open up a command prompt in the 
<l>build/microservice</l> folder, you can start your microservice as 
-                               follows:
+                               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='bcode'>
+       java -jar my-microservice-1.0.jar
+                       </p>
+                       <p>
+                               You should see the following console output:
+                       </p>
+                       <p class='bcode'>
+       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>
-                       <img class='bordered' 
src='doc-files/MicroserviceServer.Building.2.png'>
                        <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.
@@ -10794,26 +10928,12 @@
        <h3 class='topic' onclick='toggle(this)'>10.3 - Manifest File</h3>
        <div class='topic'>
                <p>
-                       The <l>META-INF/MANIFEST.MF</l> file is used to 
describe the microservice. 
-                       If you open it, you'll see the following:
+                       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='bcode'>
        <mk>Main-Class</mk>: 
<mv>org.apache.juneau.microservice.RestMicroservice</mv>
-       <mk>Rest-Resources</mk>: 
-        <mv>org.apache.juneau.microservice.sample.RootResources</mv>
        <mk>Main-ConfigFile</mk>: <mv>microservice.cfg</mv>
-       <mk>Class-Path</mk>: 
-        <mv>lib/commons-codec-1.9.jar 
-        lib/commons-io-1.2.jar 
-        lib/commons-logging-1.1.1.jar 
-        lib/httpclient-4.5.jar 
-        lib/httpcore-4.4.1.jar 
-        lib/httpmime-4.5.jar 
-        lib/javax.servlet-api-3.0.jar 
-        lib/jetty-all-8.1.0.jar 
-        lib/juneau-all-5.2.jar 
-        lib/org.apache.commons.fileupload_1.3.1.jar</mv>
-               </p>
                <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.RestMicroservice</l>.
@@ -10821,44 +10941,9 @@
                        to modify this value to point to the new class.
                </p>
                <p>
-                       The <mk>Rest-Resources</mk> entry is a comma-delimited 
list of REST resources.
-                       <br>These are classes that subclass from either {@link 
org.apache.juneau.microservice.Resource} or 
-                       {@link org.apache.juneau.microservice.ResourceGroup}.
-                       <br>This is a specialized entry when using 
<l>org.apache.juneau.microservice.RestMicroservice</l>.
-                       <br>In most cases, you'll want to specify a single 
top-level "grouping" REST resource mapped to <l>"/"</l> that 
-                       extends from {@link 
org.apache.juneau.microservice.ResourceGroup} so that you can define multiple 
child 
-                       resources.
-                       <br>In this case, we're pointing to a resource defined 
in our project: 
-                       
<l>org.apache.juneau.microservice.sample.RootResources</l>.
-               </p>
-               <p>
                        The <mk>Main-ConfigFile</mk> entry points to the 
location of an external configuration file for our microservice.
                </p>            
                <p>
-                       The <mk>Class-Path</mk> entry is the standard manifest 
file entry.
-                       <br>However, if you need to add extra libraries to your 
microservice, you'll need to copy them into your <l>lib</l> 
-                       directory and add them to the classpath here.
-               </p>
-               <p>
-                       Other manifest file entries are also provided:
-               </p>
-               <ul class='spaced-list'>
-                       <li>
-                               <mk>Rest-Port</mk> - The HTTP port to use.  
Default is <l>10000</l>.
-                       <li>
-                               <mk>Rest-ContextPath</mk> - The servlet context 
path.  Default is <l>"/"</l>.
-                       <li>
-                               <mk>Rest-AuthType</mk> - Authentication support.
-                               <br>Possible values are <l>"NONE"</l> and 
<l>"BASIC"</l>.
-                               <br>Default is <l>"NONE"</l>.
-                               <br>Used with the following additional settings:
-                               <ul>
-                                       <li><mk>Rest-LoginUser</mk>
-                                       <li><mk>Rest-LoginPassword</mk>
-                                       <li><mk>Rest-AuthRealm</mk>
-                               </ul>
-               </ul>
-               <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>
@@ -10869,19 +10954,19 @@
                <div class='topic'>
                        <p>
                                The {@link 
org.apache.juneau.microservice.Microservice#getManifest()} method is a static 
method that
-                               can be used to retrieve the manifest file as an 
{@link org.apache.juneau.ObjectMap}.  
+                               can be used to retrieve the manifest file as a 
{@link org.apache.juneau.utils.ManifestFile}.  
                        </p>
                        <p class='bcode'>
        <jc>// Get Main-Class from manifest file.</jc>
-       String mainClass = 
Microservice.<jsm>getManifest</jsm>().getString(<js>"Main-Class"</js>, 
<js>"unknown"</js>);
+       String mainClass = 
Microservice.<jsm>getInstance</jsm>().getManifest().getString(<js>"Main-Class"</js>,
 <js>"unknown"</js>);
         
        <jc>// Get Rest-Resources from manifest file.</jc>
-       String[] restResources = 
Microservice.<jsm>getManifest</jsm>().getStringArray(<js>"Rest-Resources"</js>);
+       String[] restResources = 
Microservice.<jsm>getInstance</jsm>().getManifest().getStringArray(<js>"Rest-Resources"</js>);
                        </p>
                        <p>
-                               Since this method returns an {@link 
org.apache.juneau.ObjectMap}, it's possible to retrieve entries as a 
-                               wide variety of object types such as java 
primitives, arrays, collections, maps, or even POJOs serialized 
-                               as JSON.
+                               The {@link 
org.apache.juneau.utils.ManifestFile} class extends {@link 
org.apache.juneau.ObjectMap}.
+                               <br>That makes 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>
                
@@ -10896,168 +10981,9 @@
                        your microservice.
                </p>
                <p>
-                       If you open the <l>microservice.cfg</l> file, you'll 
see several predefined sections and settings.
-               </p>
-               <p class='bcode'>
-       
<cc>#================================================================================
-       # Basic configuration file for SaaS microservices
-       # Subprojects can use this as a starting point.
-       
#================================================================================</cc>
-       
-       
<cc>#================================================================================
-       # REST settings
-       
#================================================================================</cc>
-       <cs>[REST]</cs>
-       
-       <cc># The HTTP port number to use.
-       # Can be a comma-delimited list of ports to try.
-       # 0 means try a random port.
-       # Default is Rest-Port setting in manifest file, or 8000.</cc>
-       <ck>port</ck> = <cv>10000</cv>
-       
-       <cc># A JSON map of servlet paths to servlet classes.
-       # Example:  
-       #       resourceMap = {'/*':'com.foo.MyServlet'}
-       # Either resourceMap or resources must be specified.</cc>
-       <ck>resourceMap</ck> = 
-
-       <cc># A comma-delimited list of names of classes that extend from 
Servlet.
-       # Resource paths are pulled from @RestResource.path() annotation, or
-       #       "/*" if annotation not specified.
-       # Example:  
-       #       resources = com.foo.MyServlet
-       # Default is Rest-Resources in manifest file.
-       # Either resourceMap or resources must be specified.</cc>
-       <ck>resources</ck> = 
-
-       <cc># The context root of the Jetty server.
-       # Default is Rest-ContextPath in manifest file, or "/".</cc>
-       <ck>contextPath</ck> = 
-
-       <cc># Authentication:  NONE, BASIC.</cc>
-       <ck>authType</ck> = <cv>NONE</cv>
-       
-       <cc># The BASIC auth username.
-       # Default is Rest-LoginUser in manifest file.</cc>
-       <ck>loginUser</ck> = 
-       
-       <cc># The BASIC auth password.
-       # Default is Rest-LoginPassword in manifest file.</cc>
-       <ck>loginPassword</ck> = 
-       
-       <cc># The BASIC auth realm.
-       # Default is Rest-AuthRealm in manifest file.</cc>
-       <ck>authRealm</ck> = 
-       
-       <cc># Stylesheet to use for HTML views.
-       # The default options are:
-       #  - styles/juneau.css
-       #  - styles/devops.css
-       # Other stylesheets can be referenced relative to the servlet package 
or working
-       #       directory.</cc>
-       <ck>stylesheet</ck> = <cv>styles/devops.css</cv>
-       
-       <cc># What to do when the config file is saved.
-       # Possible values:
-       #       NOTHING - Don't do anything. 
-       #       RESTART_SERVER - Restart the Jetty server.
-       #       RESTART_SERVICE - Shutdown and exit with code '3'.</cc>
-       <ck>saveConfigAction</ck> = <cv>RESTART_SERVER</cv>
-       
-       <cc># Enable SSL support.</cc>
-       <ck>useSsl</ck> = <cv>false</cv>
-       
-       
<cc>#================================================================================
-       # Bean properties on the org.eclipse.jetty.util.ssl.SslSocketFactory 
class
-       
#--------------------------------------------------------------------------------
-       # Ignored if REST/useSsl is false.
-       
#================================================================================</cc>
-       <cs>[REST-SslContextFactory]</cs>
-       <ck>keyStorePath</ck> = <cv>client_keystore.jks</cv>
-       <ck>keyStorePassword*</ck> = <cv>{HRAaRQoT}</cv>
-       <ck>excludeCipherSuites</ck> = <cv>TLS_DHE.*, TLS_EDH.*</cv>
-       <ck>excludeProtocols</ck> = <cv>SSLv3</cv>
-       <ck>allowRenegotiate</ck> = <cv>false</cv>
-       
-       
<cc>#================================================================================
-       # Logger settings
-       # See FileHandler Java class for details.
-       
#================================================================================</cc>
-       <cs>[Logging]</cs>
-
-       <cc># The directory where to create the log file.
-       # Default is "."</cc>
-       <ck>logDir</ck> = <cv>logs</cv>
-       
-       <cc># The name of the log file to create for the main logger.
-       # The logDir and logFile make up the pattern that's passed to the 
FileHandler
-       # constructor.
-       # If value is not specified, then logging to a file will not be set 
up.</cc>
-       <ck>logFile</ck> = <cv>microservice.%g.log</cv>
-       
-       <cc># Whether to append to the existing log file or create a new one.
-       # Default is false.</cc>
-       <ck>append</ck> = 
-       
-       <cc># The SimpleDateFormat format to use for dates.
-       # Default is "yyyy.MM.dd hh:mm:ss".</cc>
-       <ck>dateFormat</ck> = 
-       
-       <cc># The log message format.
-       # The value can contain any of the following variables:
-       #       {date} - The date, formatted per dateFormat.
-       #       {class} - The class name.
-       #       {method} - The method name.
-       #       {logger} - The logger name.
-       #       {level} - The log level name.
-       #       {msg} - The log message.
-       #       {threadid} - The thread ID.
-       #       {exception} - The localized exception message.
-       # Default is "[{date} {level}] {msg}%n".</cc>
-       <ck>format</ck> =
-       
-       <cc># The maximum log file size.
-       # Suffixes available for numbers.
-       # See ConfigFile.getInt(String,int) for details.
-       # Default is 1M.</cc>
-       <ck>limit</ck> = <cv>10M</cv>
-       
-       <cc># Max number of log files.
-       # Default is 1.</cc>
-       <ck>count</ck> = <cv>5</cv>
-       
-       <cc># Default log levels.
-       # Keys are logger names.
-       # Values are serialized Level POJOs.</cc>
-       <ck>levels</ck> = <cv>{ org.apache.juneau:'INFO' }</cv>
-       
-       <cc># Only print unique stack traces once and then refer to them by a 
simple 8 character hash identifier.
-       # Useful for preventing log files from filling up with duplicate stack 
traces.
-       # Default is false.</cc>
-       <ck>useStackTraceHashes</ck> = <cv>true</cv>
-       
-       <cc># The default level for the console logger.
-       # Default is WARNING.</cc>
-       <ck>consoleLevel</ck> = 
-       
-       
<cc>#================================================================================
-       # System properties
-       
#--------------------------------------------------------------------------------
-       # These are arbitrary system properties that are set during startup.
-       
#================================================================================</cc>
-       <cs>[SystemProperties]</cs>
-       
-       <cc># Configure Jetty for StdErrLog Logging</cc>
-       <ck>org.eclipse.jetty.util.log.class</ck> = 
<cv>org.eclipse.jetty.util.log.StrErrLog</cv>
-       
-       <cc># Jetty logging level</cc>
-       <ck>org.eclipse.jetty.LEVEL</ck> = <cv>WARN</cv>                
+                       If you open the <l>my-microservice.cfg</l> file, you'll 
see several predefined sections and settings.
+                       <br>The contents were shown in the previous sections.
                </p>
-               <ul class='doctree'>
-                       <li class='info'>
-                               The predefined config file includes all 
settings for instructional purposes. 
-                               <br>In your microservice, you can remove all 
lines from your config file that have default values.
-               </ul>
                <p>
                        Although the config file looks deceptively simple, the 
config file API is a very powerful feature with many 
                        capabilities, including:
@@ -11074,7 +11000,7 @@
                                Extensive listener APIs.
                </ul>
                
-               <h5 class='topic'>Examples:</h5>
+               <h5 class='figure'>Examples:</h5>
                <p class='bcode'>
        <cc>#--------------------------</cc>
        <cc># My section</cc>
@@ -11126,7 +11052,7 @@
        </p>
        <p class='bcode'>
        <jc>// Java code for accessing config entries above.</jc>
-       ConfigFile cf = Microservice.<jsm>getConfig</jsm>();
+       ConfigFile cf = Microservice.<jsm>getInstance</jsm>().getConfig();
        
        <jk>int</jk> anInt = cf.getInt(<js>"MySection/anInt"</js>); 
        <jk>boolean</jk> aBoolean = 
cf.getBoolean(<js>"MySection/aBoolean"</js>); 
@@ -11150,28 +11076,10 @@
                                There are 3 primary ways of getting access to 
the config file.
                        </p>
                        <ul class='doctree'>
-                               <li class='jm'>
-                                       {@link 
org.apache.juneau.microservice.Microservice#getConfig()} 
-                                       - A static method that can be used to 
access the config file from anywhere in your application.
-                                       <br>When using this method, any of the 
following variables can be resolved:
-                                       <ul>
-                                               <li><l>$S{key}, 
$S{key,default}</l> - System properties.
-                                               <li><l>$E{key}, 
$E{key,default}</l> - Environment variables.
-                                               <li><l>$C{key}, 
$C{key,default}</l> - Config file entries.
-                                               <li><l>$MF{key}, 
$MF{key,default}</l> - Manifest file entries.
-                                               <li><l>$ARG{key}, 
$ARG{key,default}</l> - Command-line arguments.
-                                       </ul>
-                                       Additional user-defined variables can 
be defined by overriding the 
-                                       {@link 
org.apache.juneau.microservice.Microservice#createVarResolver()} method
-                                       and using the {@link 
org.apache.juneau.rest.RestContextBuilder#vars(Class...)} method.
-                               <li class='jm'>
-                                       {@link 
org.apache.juneau.rest.RestContext#getConfigFile()} 
-                                       - An instance method to access it from 
inside a REST servlet.
-                                       <br>The following variables are 
available in addition to the variables defined above:
-                                       <ul>
-                                               <li><l>$I{key}, 
$I{key,default}</l> - Servlet initialization parameters.
-                                       </ul>
-                                       
+                               <li class='jm'>{@link 
org.apache.juneau.microservice.Microservice#getConfig()} 
+                                       <br>Any <a class='doclink' 
href='#DefaultRestSvlVariables'>initialization-time variables</a> and 
<l>$ARG</l> and <l>$MF</l> variables can be used.
+                               <li class='jm'>{@link 
org.apache.juneau.rest.RestContext#getConfigFile()} 
+                                       <br>Any <a class='doclink' 
href='#DefaultRestSvlVariables'>initialization-time variables</a> and 
<l>$ARG</l> and <l>$MF</l> variables can be used.
                                        <h5 class='figure'>Example usage:</h5>
                                        <p class='bcode'>
        <cc>#-------------------------------</cc>
@@ -11201,19 +11109,7 @@
                                <li class='jm'>
                                        {@link 
org.apache.juneau.rest.RestRequest#getConfigFile()} 
                                        - An instance method to access it from 
inside a REST method.
-                                       <br>The following variables are 
available in addition to the variables defined above:
-                                       <ul>
-                                               <li><l>$L{key}, 
$L{key,args}</l> - Localized variables pulled from 
-                                                       {@link 
org.apache.juneau.rest.RestRequest#getMessage(String, Object...)}.
-                                               <li><l>$RA{key1,[key2...]}</l> 
- Request attribute variables.
-                                               <li><l>$RF{key1,[key2...]}</l> 
- Request form data variables.
-                                               <li><l>$RH{key1,[key2...]}</l> 
- Request header variables.
-                                               <li><l>$RP{key1,[key2...]}</l> 
- Request path variables.
-                                               <li><l>$RQ{key1,[key2...]}</l> 
- Request query parameter variables.
-                                               <li><l>$R{key1,[key2...]}</l> - 
Other request variables.
-                                               <li><l>$SA{key,mediaType}</l> - 
Object returned by {@link 
org.apache.juneau.rest.RestRequest#getAttribute(String)} converted to a string 
using the serializer registered to handle the specified media type.
-                                               <li><l>$UE{...}</l> - 
URL-Encode the specified value.
-                                       </ul>
+                                       <br>Any <a class='doclink' 
href='#DefaultRestSvlVariables'>initialization-time or request-time 
variables</a> and <l>$ARG</l> and <l>$MF</l> variables can be used.
                                        
                                        <h5 class='figure'>Example usage:</h5>
                                        <p class='bcode'>
@@ -11300,20 +11196,23 @@
                        Now let's take a look at the resource classes 
themselves.  
                        <br>The top-level page...
                </p>
-               <img class='bordered' 
src='doc-files/MicroserviceServer.Installing.6.png'>
+               <img class='bordered' 
src='doc-files/MicroserviceServer.Installing.6.png' style='width:800px;'>
                <p>
                        ...is generated by this class...
                <p class='bcode'>
-       <jd>/**
-        * Root microservice page.
-        */</jd>
        <ja>@RestResource</ja>(
                path=<js>"/"</js>,
-               title=<js>"Juneau Microservice Template"</js>,
-               description=<js>"Template for creating REST microservices"</js>,
-               properties={
-                       <ja>@Property</ja>(name=<jsf>HTMLDOC_navlinks</jsf>, 
value=<js>"{options:'?method=OPTIONS'}"</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>,
@@ -11321,12 +11220,12 @@
                }
        )
        <jk>public class</jk> RootResources <jk>extends</jk> ResourceGroup {
-               <jk>private static final long</jk> <jsf>serialVersionUID</jsf> 
= 1L;
-       }               
+               <jc>// No code! </jc>
+       }
                </p>
                <ul class='spaced-list'>
                        <li>
-                               The </l>label</l> and <l>description</l> 
annotations define the titles on the page.
+                               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>
@@ -11341,14 +11240,11 @@
                <p>
                        If you click the <l>helloWorld</l> link in your 
application, you'll get a simple hello world message:
                </p>
-               <img class='bordered' 
src='doc-files/MicroserviceServer.ResourceClasses.1.png'>
+               <img class='bordered' 
src='doc-files/MicroserviceServer.ResourceClasses.1.png' style='width:800px;'>
                <p>
                        ...which is generated by this class...
                </p>
                <p class='bcode'>
-       <jd>/**
-        * Sample REST resource that prints out a simple "Hello world!" message.
-        */</jd>
        <ja>@RestResource</ja>(
                path=<js>"/helloWorld"</js>,
                title=<js>"Hello World example"</js>,
@@ -11356,7 +11252,6 @@
        )
        <jk>public class</jk> HelloWorldResource <jk>extends</jk> Resource {
        
-               <jd>/** GET request handler */</jd>
                <ja>@RestMethod</ja>(name=<jsf>GET</jsf>, path=<js>"/*"</js>)
                <jk>public</jk> String sayHello() {
                        <jk>return</jk> <js>"Hello world!"</js>;
@@ -11449,7 +11344,7 @@
                 * 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();
+                       <jk>new</jk> 
SampleCustomRestMicroservice(args).start().join();
                }
        
                <jd>/**
@@ -11461,128 +11356,22 @@
                <jk>public</jk> SampleCustomRestMicroservice(String[] args) 
<jk>throws</jk> Exception {
                        <jk>super</jk>(args);
                }
-       
-               
<jc>//--------------------------------------------------------------------------------
-               // Methods on Microservice that can be overridden and 
customized.
-               
//--------------------------------------------------------------------------------</jc>
-       
-               <ja>@Override</ja> <jc>/* Microservice */</jc>
-               <jk>protected void</jk> start() <jk>throws</jk> Exception {
-                       <jk>super</jk>.start();
-               }
-       
-               <ja>@Override</ja> <jc>/* Microservice */</jc>
-               <jk>public void</jk> stop() {
-                       <jk>super</jk>.stop();
-               }
-       
-               <ja>@Override</ja> <jc>/* Microservice */</jc>
-               <jk>public void</jk> kill() {
-                       <jk>super</jk>.kill();
-               }
-       
-               <ja>@Override</ja> <jc>/* Microservice */</jc>
-               <jk>public void</jk> onStart() {
-                       System.<jsf>err</jsf>.println(<js>"onStart() 
called!"</js>);
-               }
-       
-               <ja>@Override</ja> <jc>/* Microservice */</jc>
-               <jk>public void</jk> onStop() {
-                       System.<jsf>err</jsf>.println(<js>"onStop() 
called!"</js>);
-               }
-       
-               
<jc>//--------------------------------------------------------------------------------
-               // Methods on RestMicroservice that can be overridden and 
customized.
-               
//--------------------------------------------------------------------------------</jc>
-       
-               <ja>@Override</ja> <jc>/* RestMicroservice */</jc>
-               <jk>protected void</jk> initLogging() <jk>throws</jk> Exception 
{
-                       <jk>super</jk>.initLogging();
-               }
-       
-               <ja>@Override</ja> <jc>/* RestMicroservice */</jc>
-               <jk>protected</jk> Server createServer() <jk>throws</jk> 
Exception {
-                       <jk>return super</jk>.createServer();
-               }
-       
-               <ja>@Override</ja> <jc>/* RestMicroservice */</jc>
-               <jk>protected void</jk> startServer() <jk>throws</jk> Exception 
{
-                       <jk>super</jk>.startServer();
-               }
-       
-               <ja>@Override</ja> <jc>/* RestMicroservice */</jc>
-               <jk>protected void</jk> onCreateServer() {
-                       System.<jsf>err</jsf>.println(<js>"onCreateServer() 
called!"</js>);
-               }
-       
-               <ja>@Override</ja> <jc>/* RestMicroservice */</jc>
-               <jk>protected void</jk> onStartServer() {
-                       System.<jsf>err</jsf>.println(<js>"onStartServer() 
called!"</js>);
-               }
-       
-               <ja>@Override</ja> <jc>/* RestMicroservice */</jc>
-               <jk>protected void</jk> onPostStartServer() {
-                       System.<jsf>err</jsf>.println(<js>"onPostStartServer() 
called!"</js>);
-               }
-       
-               <ja>@Override</ja> <jc>/* RestMicroservice */</jc>
-               <jk>protected void</jk> onStopServer() {
-                       System.<jsf>err</jsf>.println(<js>"onStopServer() 
called!"</js>);
-               }
-       
-               <ja>@Override</ja> <jc>/* RestMicroservice */</jc>
-               <jk>protected void</jk> onPostStopServer() {
-                       System.<jsf>err</jsf>.println(<js>"onPostStopServer() 
called!"</js>);
-               }
-       }
                        </p>
+                       <p>
+                               The microservice APIs provide several useful 
methods that can be used or extended.
+                       </p>
+                       <h5 class='section'>See Also:</h5>
+                       <ul class='doctree'>
+                               <li class='jac'>{@link 
org.apache.juneau.microservice.Microservice}
+                               <li class='jc'>{@link 
org.apache.juneau.microservice.RestMicroservice}
+                       </ul>
                </div>
        </div>
 </div>
 
 <!-- 
===========================================================================================================
 -->
-<a id="juneau-microservice-template"></a>
-<h2 class='topic' onclick='toggle(this)'>11 - juneau-microservice-template</h2>
-<div class='topic'>
-
-       <h5 class='figure'>Archive File</h5>
-       <p class='bcode' style='width:500px;'>
-       my-microservice-7.0.0.zip 
-       </p>    
-       
-       <p>
-               The <code>juneau-microservice-template</code> project creates 
an archive file containing an Eclipse
-               project that can be loaded into an Eclipse workspace to quickly 
get a microservice project 
-               up-and-running. 
-       </p>
-       
-       <h5 class='topic'>Instructions on how to install template project</h5>
-       <p>
-               Download the <code>my-microservice-7.0.0.zip</code> file from 
the downloads page
-               (located in the binaries) and import it into your workspace as 
an existing project:
-       </p>
-       <img class='bordered' 
src='doc-files/juneau-microservice-template.import1.png' style='width:512px'>
-       <p>
-               Select the archive file and import the project:
-       </p>
-       <img class='bordered' 
src='doc-files/juneau-microservice-template.import2.png' style='width:523px'>
-       <p>
-               Once loaded, you should see the following project structure:
-       </p>
-       <img class='bordered' 
src='doc-files/juneau-microservice-template.import3.png' style='width:412px'>
-       <p>
-               The microservice can be started from the 
<code>my-microservice.launch</code> file.
-               It will start up the microservice on port 10000 which you can 
then view through a browser:
-       </p>
-       <img class='bordered' 
src='doc-files/juneau-microservice-template.import4.png' style='width:467px'>
-       <p>
-               Now play with it!
-       </p>
-</div>
-
-<!-- 
===========================================================================================================
 -->
 <a id="juneau-examples-core"></a>
-<h2 class='topic' onclick='toggle(this)'>12 - juneau-examples-core</h2>
+<h2 class='topic' onclick='toggle(this)'>11 - juneau-examples-core</h2>
 <div class='topic'>
 
        <h5 class='figure'>Archive File</h5>
@@ -11621,7 +11410,7 @@
 
 <!-- 
===========================================================================================================
 -->
 <a id="juneau-examples-rest"></a>
-<h2 class='topic' onclick='toggle(this)'>13 - juneau-examples-rest</h2>
+<h2 class='topic' onclick='toggle(this)'>12 - juneau-examples-rest</h2>
 <div class='topic'>
 
        <h5 class='figure'>Archive File</h5>
@@ -11660,7 +11449,7 @@
                
        <!-- 
=======================================================================================================
 -->
        <a id="juneau-examples-rest.RootResources"></a>
-       <h4 class='topic' onclick='toggle(this)'>13.1 - RootResources</h4>
+       <h4 class='topic' onclick='toggle(this)'>12.1 - RootResources</h4>
        <div class='topic'>
                <p>
                        The <l>RootResources</l> class is the main page for the 
REST microservice.
@@ -11822,7 +11611,7 @@
 
        <!-- 
=======================================================================================================
 -->
        <a id="juneau-examples-rest.HelloWorldResource"></a>
-       <h4 class='topic' onclick='toggle(this)'>13.2 - HelloWorldResource</h4>
+       <h4 class='topic' onclick='toggle(this)'>12.2 - HelloWorldResource</h4>
        <div class='topic'>
                <p>
                        The <l>HelloWorldResource</l> class is a simple 
resource that prints a "Hello world!" message.
@@ -11900,7 +11689,7 @@
 
        <!-- 
=======================================================================================================
 -->
        <a id="juneau-examples-rest.MethodExampleResource"></a>
-       <h4 class='topic' onclick='toggle(this)'>13.3 - 
MethodExampleResource</h4>
+       <h4 class='topic' onclick='toggle(this)'>12.3 - 
MethodExampleResource</h4>
        <div class='topic'>
                <p>
                        The <l>MethodExampleResource</l> class provides 
examples of the following:
@@ -12216,7 +12005,7 @@
 
        <!-- 
=======================================================================================================
 -->
        <a id="juneau-examples-rest.UrlEncodedFormResource"></a>
-       <h4 class='topic' onclick='toggle(this)'>13.4 - 
UrlEncodedFormResource</h4>
+       <h4 class='topic' onclick='toggle(this)'>12.4 - 
UrlEncodedFormResource</h4>
        <div class='topic'>
                <p>
                        The <l>UrlEncodedFormResource</l> class provides 
examples of the following:
@@ -12412,7 +12201,7 @@
 
        <!-- 
=======================================================================================================
 -->
        <a id="juneau-examples-rest.RequestEchoResource"></a>
-       <h4 class='topic' onclick='toggle(this)'>13.5 - RequestEchoResource</h4>
+       <h4 class='topic' onclick='toggle(this)'>12.5 - RequestEchoResource</h4>
        <div class='topic'>
                <p>
                        The <l>RequestEchoResource</l> class shows how existing 
complex POJOs can be serialized to a variety of 
@@ -12531,7 +12320,7 @@
 
        <!-- 
=======================================================================================================
 -->
        <a id="juneau-examples-rest.AddressBookResource"></a>
-       <h4 class='topic' onclick='toggle(this)'>13.6 - AddressBookResource</h4>
+       <h4 class='topic' onclick='toggle(this)'>12.6 - AddressBookResource</h4>
        <div class='topic'>
                <p>
                        The <l>AddressBookResource</l> class is a 
proof-of-concept class that shows a true RESTful API using the 
@@ -12579,7 +12368,7 @@
                
                <!-- 
=======================================================================================================
 -->
                <a id="juneau-examples-rest.AddressBookResource.Classes"></a>
-               <h4 class='topic' onclick='toggle(this)'>13.6.1 - Classes</h4>
+               <h4 class='topic' onclick='toggle(this)'>12.6.1 - Classes</h4>
                <div class='topic'>
                        <p>
                                The code is straightforward, consisting of the 
following classes:
@@ -13400,7 +13189,7 @@
        
                <!-- 
=======================================================================================================
 -->
                <a id="juneau-examples-rest.AddressBookResource.Demo"></a>
-               <h4 class='topic' onclick='toggle(this)'>13.6.2 - Demo</h4>
+               <h4 class='topic' onclick='toggle(this)'>12.6.2 - Demo</h4>
                <div class='topic'>
                        <p>
                                Pointing a browser to the resource shows the 
results of running the <l>getRoot()</l> method:
@@ -13477,7 +13266,7 @@
        
                <!-- 
=======================================================================================================
 -->
                <a 
id="juneau-examples-rest.AddressBookResource.Traversable"></a>
-               <h4 class='topic' onclick='toggle(this)'>13.6.3 - 
Traversable</h4>
+               <h4 class='topic' onclick='toggle(this)'>12.6.3 - 
Traversable</h4>
                <div class='topic'>
                        <p>
                                Because you added the <l>Traversable</l> 
converter to the <l>getPerson</l> method, you can also address 
@@ -13490,7 +13279,7 @@
 
                <!-- 
=======================================================================================================
 -->
                <a id="juneau-examples-rest.AddressBookResource.Queryable"></a>
-               <h4 class='topic' onclick='toggle(this)'>13.6.4 - Queryable</h4>
+               <h4 class='topic' onclick='toggle(this)'>12.6.4 - Queryable</h4>
                <div class='topic'>
                        <p>
                                The <l>Queryable</l> converter on the 
<l>getAllPeople()</l> method allows us to perform search/view/sort 
@@ -13509,7 +13298,7 @@
        
                <!-- 
=======================================================================================================
 -->
                <a 
id="juneau-examples-rest.AddressBookResource.Introspectable"></a>
-               <h4 class='topic' onclick='toggle(this)'>13.6.5 - 
Introspectable</h4>
+               <h4 class='topic' onclick='toggle(this)'>12.6.5 - 
Introspectable</h4>
                <div class='topic'>
                        <p>
                                The <l>Introspectable</l> converter on the 
<l>getPerson</l> method allows us to invoke public methods 
@@ -13520,7 +13309,7 @@
        
                <!-- 
=======================================================================================================
 -->
                <a id="juneau-examples-rest.AddressBookResource.RestClient"></a>
-               <h4 class='topic' onclick='toggle(this)'>13.6.6 - 
ClientTest</h4>
+               <h4 class='topic' onclick='toggle(this)'>12.6.6 - 
ClientTest</h4>
                <div class='topic'>
                        <p>
                                The <l>ClientTest</l> class is provided to 
demonstrate how POJOs can be serialized and parsed 
@@ -13635,7 +13424,7 @@
 
                <!-- 
=======================================================================================================
 -->
                <a id="juneau-examples-rest.AddressBookResource.Browser"></a>
-               <h4 class='topic' onclick='toggle(this)'>13.6.7 - Browser 
Tips</h4>
+               <h4 class='topic' onclick='toggle(this)'>12.6.7 - Browser 
Tips</h4>
                <div class='topic'>
                        <p>
                                The Juneau architecture is designed to make it 
easy to debug REST resources using nothing more than a 
@@ -13668,7 +13457,7 @@
 
        <!-- 
=======================================================================================================
 -->
        <a id="juneau-examples-rest.SampleRemoteableServlet"></a>
-       <h4 class='topic' onclick='toggle(this)'>13.7 - 
SampleRemoteableServlet</h4>
+       <h4 class='topic' onclick='toggle(this)'>12.7 - 
SampleRemoteableServlet</h4>
        <div class='topic'>
                <p>     
                        The <l>SampleRemoteableServlet</l> class shows examples 
of the following:
@@ -13767,7 +13556,7 @@
 
        <!-- 
=======================================================================================================
 -->
        <a id="juneau-examples-rest.TempDirResource"></a>
-       <h4 class='topic' onclick='toggle(this)'>13.8 - TempDirResource</h4>
+       <h4 class='topic' onclick='toggle(this)'>12.8 - TempDirResource</h4>
        <div class='topic'>
                <p>     
                        The <l>TempDirResource</l> class shows examples of the 
following:
@@ -13895,7 +13684,7 @@
 
        <!-- 
=======================================================================================================
 -->
        <a id="juneau-examples-rest.AtomFeedResource"></a>
-       <h4 class='topic' onclick='toggle(this)'>13.9 - AtomFeedResource</h4>
+       <h4 class='topic' onclick='toggle(this)'>12.9 - AtomFeedResource</h4>
        <div class='topic'>
                <p>     
                        The <l>AtomFeedResource</l> class shows examples of the 
following:
@@ -14008,7 +13797,7 @@
 
        <!-- 
=======================================================================================================
 -->
        <a id="juneau-examples-rest.DockerRegistryResource"></a>
-       <h4 class='topic' onclick='toggle(this)'>13.10 - 
DockerRegistryResource</h4>
+       <h4 class='topic' onclick='toggle(this)'>12.10 - 
DockerRegistryResource</h4>
        <div class='topic'>
                <p>     
                        The <l>DockerRegistryResource</l> class shows examples 
of the following:
@@ -14100,7 +13889,7 @@
 
        <!-- 
=======================================================================================================
 -->
        <a id="juneau-examples-rest.TumblrParserResource"></a>
-       <h4 class='topic' onclick='toggle(this)'>13.11 - 
TumblrParserResource</h4>
+       <h4 class='topic' onclick='toggle(this)'>12.11 - 
TumblrParserResource</h4>
        <div class='topic'>
                <p>     
                        The <l>TumblrParserResource</l> class shows examples of 
the following:
@@ -14185,7 +13974,7 @@
 
        <!-- 
=======================================================================================================
 -->
        <a id="juneau-examples-rest.PhotosResource"></a>
-       <h4 class='topic' onclick='toggle(this)'>13.12 - PhotosResource</h4>
+       <h4 class='topic' onclick='toggle(this)'>12.12 - PhotosResource</h4>
        <div class='topic'>
                <p>     
                        The <l>PhotosResource</l> class shows examples of the 
following:
@@ -14333,7 +14122,7 @@
 
        <!-- 
=======================================================================================================
 -->
        <a id="juneau-examples-rest.JsonSchemaResource"></a>
-       <h4 class='topic' onclick='toggle(this)'>13.13 - JsonSchemaResource</h4>
+       <h4 class='topic' onclick='toggle(this)'>12.13 - JsonSchemaResource</h4>
        <div class='topic'>
                <p>     
                        The <l>JsonSchemaResource</l> class shows examples of 
the following:
@@ -14417,7 +14206,7 @@
 
        <!-- 
=======================================================================================================
 -->
        <a id="juneau-examples-rest.SqlQueryResource"></a>
-       <h4 class='topic' onclick='toggle(this)'>13.14 - SqlQueryResource</h4>
+       <h4 class='topic' onclick='toggle(this)'>12.14 - SqlQueryResource</h4>
        <div class='topic'>
                <p>     
                        The <l>SqlQueryResource</l> class shows examples of the 
following:
@@ -14619,12 +14408,11 @@
 
        <!-- 
=======================================================================================================
 -->
        <a id="juneau-examples-rest.ConfigResource"></a>
-       <h4 class='topic' onclick='toggle(this)'>13.15 - ConfigResource</h4>
+       <h4 class='topic' onclick='toggle(this)'>12.15 - ConfigResource</h4>
        <div class='topic'>
                <p>
-                       The {@link 
org.apache.juneau.microservice.resources.ConfigResource} class is a reusable 
resource
-                               defined in the <a class='doclink' 
href='org/apache/juneau/microservice/package-summary.html#TOC'>org.apache.juneau.microservice</a>
 API.
-                       It provides a REST interface for reading and altering 
the microservice config file.
+                       The {@link 
org.apache.juneau.microservice.resources.ConfigResource} class is a predefined 
reusable resource.
+                       <br>It provides a REST interface for reading and 
altering the microservice config file.
                </p>
                <p>
                        Pointing a browser to the resource shows the following:
@@ -14837,13 +14625,11 @@
 
        <!-- 
=======================================================================================================
 -->
        <a id="juneau-examples-rest.LogsResource"></a>
-       <h4 class='topic' onclick='toggle(this)'>13.16 - LogsResource</h4>
+       <h4 class='topic' onclick='toggle(this)'>12.16 - LogsResource</h4>
        <div class='topic'>
                <p>
-                       The {@link 
org.apache.juneau.microservice.resources.LogsResource} class is a reusable 
resource
-                       defined in the <a class='doclink' 
-                       
href='org/apache/juneau/microservice/package-summary.html#TOC'>org.apache.juneau.microservice</a>
 API.
-                       It provides a REST interface for the log files 
generated by the microservice.
+                       The {@link 
org.apache.juneau.microservice.resources.LogsResource} class is a reusable 
predefined resource.
+                       <br>It provides a REST interface for the log files 
generated by the microservice.
                </p>
                <p>
                        Pointing a browser to the resource shows the following:
@@ -14863,7 +14649,7 @@
 
 <!-- 
===============================================================================================================
 -->
 <a id="Security"></a>
-<h2 class='topic' onclick='toggle(this)'>14 - Security Best-Practices</h2>
+<h2 class='topic' onclick='toggle(this)'>13 - Security Best-Practices</h2>
 <div class='topic'>
        <p>
                Security is always an ongoing concern in any library.  
@@ -14875,7 +14661,7 @@
 
        <!-- 
===========================================================================================================
 -->
        <a id="Security.juneau-marshall"></a>
-       <h3 class='topic' onclick='toggle(this)'>14.1 - juneau-marshall</h3>
+       <h3 class='topic' onclick='toggle(this)'>13.1 - juneau-marshall</h3>
        <div class='topic'>
 
                <h5 class='topic'>Demarshalling vulnerabilities</h5>
@@ -14954,7 +14740,7 @@
        
        <!-- 
===========================================================================================================
 -->
        <a id="Security.juneau-svl"></a>
-       <h3 class='topic' onclick='toggle(this)'>14.2 - juneau-svl</h3>
+       <h3 class='topic' onclick='toggle(this)'>13.2 - juneau-svl</h3>
        <div class='topic'>
                <p>
                        Care must be used when defining new {@link 
org.apache.juneau.svl.Var Vars} using the SVL API since mistakes 
@@ -15004,7 +14790,7 @@
        
        <!-- 
===========================================================================================================
 -->
        <a id="Security.juneau-rest-server"></a>
-       <h3 class='topic' onclick='toggle(this)'>14.3 - juneau-rest-server</h3>
+       <h3 class='topic' onclick='toggle(this)'>13.3 - juneau-rest-server</h3>
        <div class='topic'>
                <p>
                        Denial of service attacks can be alleviated through the 
{@link org.apache.juneau.rest.annotation.RestResource#maxInput() maxInput()}
@@ -15023,7 +14809,7 @@
 
 <!-- 
===============================================================================================================
 -->
 <a id="ReleaseNotes"></a>
-<h2 class='topic' onclick='toggle(this)'>15 - Release Notes</h2>
+<h2 class='topic' onclick='toggle(this)'>14 - Release Notes</h2>
 <div class='topic'>
        
        <h5 class='toc'>What's new in each release</h5>
@@ -18032,10 +17818,10 @@
                
                <h5 class='topic'>Documentation Updates</h5>
                <ul class='spaced-list'>
-                       <li><a 
href='org/apache/juneau/microservice/package-summary.html#TOC'>org.apache.juneau.microservice</a>
 - New package-level javadoc.
+                       <li><del>org.apache.juneau.microservice</del> - New 
package-level javadoc.
                        <li><a 
href='org/apache/juneau/ini/package-summary.html#TOC'>org.apache.juneau.ini</a> 
- New package-level javadoc.
                        <li><del><code>StringVarResolver</code></del> - New 
documentation.
-                       <li><a 
href='org/apache/juneau/rest/client/package-summary.html#TOC'>org.apache.juneau.rest.client</a>
 - New package-level javadoc.
+                       <li><del>org.apache.juneau.rest.client</del> - New 
package-level javadoc.
                        <li><code><del>Overview / Samples</del></code> - New 
section.
                        <li><del>org.apache.juneau.transform / Stop 
Classes</del> - New section.
                        <li><del>org.apache.juneau.rest</del> - Extensive 
updates.
@@ -18737,7 +18523,7 @@
                                                        from being modified 
after being created.  The new mechanism is much more straightforward.
                                </ul>
                        </li>
-                       <li>Modifications to the <a class='doclink' 
href='org/apache/juneau/rest/client/package-summary.html#TOC'>org.apache.juneau.rest.client</a>
 APIs to make it easier to work with custom Apache HTTP clients.
+                       <li>Modifications to the 
<del>org.apache.juneau.rest.client</del> APIs to make it easier to work with 
custom Apache HTTP clients.
                                <ul>
                                        <li>Added overridable 
<code><del>RestClient#createHttpClient()</del></code> to allow customized 
subclasses to construct customized HTTP clients.
                                        <li>Removed the 
<code>DefaultRestClient</code> class since it's now fully redundant with 
<code>RestClient</code>.
@@ -18947,7 +18733,7 @@
                                The new client API is simply a thin layer on 
top of <code>HttpClient</code> that performs 
                                serialization and parsing using Juno parsers, 
but leaves all the details of the HTTP connection
                                to the Apache code. <br>
-                               See the <a class='doclink' 
href='org/apache/juneau/rest/client/package-summary.html#TOC'>org.apache.juneau.rest.client</a>
 package for details.
+                               See the 
<del>org.apache.juneau.rest.client</del> package for details.
                        <li>New <code>org.apache.juneau.rest.client.jazz</code> 
package and <code>org.apache.juneau.rest.client.jazz.JazzRestClient</code> class
                                for performing REST operations against Jazz 
servers.<br>
                                Includes improved support for FORM 
authentication, and better SSL certificate validation.
@@ -19693,7 +19479,7 @@
                <ul class='spaced-list'>
                        <li>            
                                Juno-Wink integration components that have been 
requested by many for a long time!<br>
-                               Refer to <a class='doclink' 
href='org/apache/juneau/rest/jaxrs/package-summary.html#TOC'>org.apache.juneau.rest.jaxrs</a>
 for information.
+                               Refer to 
<del>org.apache.juneau.rest.jaxrs</del> for information.
                        </li>
                        <li>
                                New <code><del>@Produces</del></code> 
annotation in place of <code>ISerializer.getMediaTypes()</code> for specifying 
what media types a serializer produces.<br>
diff --git 
a/juneau-microservice/juneau-microservice-template/META-INF/MANIFEST.MF 
b/juneau-microservice/juneau-microservice-template/META-INF/MANIFEST.MF
deleted file mode 100755
index e1589c9..0000000
--- a/juneau-microservice/juneau-microservice-template/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,29 +0,0 @@
-Copyright: 
- 
***************************************************************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one or more 
contributor license agreements.  See the NOTICE file *
- * distributed with this work for additional information regarding copyright 
ownership.  The ASF licenses this file        *
- * to you under the Apache License, Version 2.0 (the "License"); you may not 
use this file except in compliance            *
- * with the License.  You may obtain a copy of the License at                  
                                            * 
- *                                                                             
                                            *
- *  http://www.apache.org/licenses/LICENSE-2.0                                 
                                            *
- *                                                                             
                                            *
- * Unless required by applicable law or agreed to in writing, software 
distributed under the License is distributed on an  *
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express 
or implied.  See the License for the        *
- * specific language governing permissions and limitations under the License.  
                                            *
- 
***************************************************************************************************************************
-Manifest-Version: 1.0
-Main-Class: org.apache.juneau.microservice.RestMicroservice
-Rest-Resources: 
- org.apache.juneau.microservice.sample.RootResources
-Main-ConfigFile: my-microservice.cfg
-Class-Path: 
- lib/commons-codec-1.9.jar 
- lib/commons-io-1.2.jar 
- lib/commons-logging-1.1.1.jar 
- lib/httpclient-4.5.jar 
- lib/httpcore-4.4.1.jar 
- lib/httpmime-4.5.jar 
- lib/javax.servlet-api-3.0.jar 
- lib/jetty-all-8.1.0.jar 
- lib/juneau-all-5.2.jar 
- lib/org.apache.commons.fileupload_1.3.1.jar
\ No newline at end of file
diff --git 
a/juneau-microservice/juneau-microservice-template/build-overlay/.classpath 
b/juneau-microservice/juneau-microservice-template/build-overlay/.classpath
index f619a53..af1430b 100755
--- a/juneau-microservice/juneau-microservice-template/build-overlay/.classpath
+++ b/juneau-microservice/juneau-microservice-template/build-overlay/.classpath
@@ -12,7 +12,7 @@
                        <attribute name="maven.pomderived" value="true"/>
                </attributes>
        </classpathentry>
-       <classpathentry kind="con" 
path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7">
+       <classpathentry kind="con" 
path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
                <attributes>
                        <attribute name="maven.pomderived" value="true"/>
                </attributes>
diff --git 
a/juneau-microservice/juneau-microservice-template/build-overlay/.project 
b/juneau-microservice/juneau-microservice-template/build-overlay/.project
index 449f210..e940a4f 100755
--- a/juneau-microservice/juneau-microservice-template/build-overlay/.project
+++ b/juneau-microservice/juneau-microservice-template/build-overlay/.project
@@ -6,12 +6,18 @@
        </projects>
        <buildSpec>
                <buildCommand>
+                       <name>org.eclipse.jdt.core.javabuilder</name>
+                       <arguments>
+                       </arguments>
+               </buildCommand>
+               <buildCommand>
                        <name>org.eclipse.m2e.core.maven2Builder</name>
                        <arguments>
                        </arguments>
                </buildCommand>
        </buildSpec>
        <natures>
+               <nature>org.eclipse.jdt.core.javanature</nature>
                <nature>org.eclipse.m2e.core.maven2Nature</nature>
        </natures>
 </projectDescription>
diff --git 
a/juneau-microservice/juneau-microservice-template/build-overlay/.settings/org.eclipse.jdt.core.prefs
 
b/juneau-microservice/juneau-microservice-template/build-overlay/.settings/org.eclipse.jdt.core.prefs
index cc96009..8ad4b46 100644
--- 
a/juneau-microservice/juneau-microservice-template/build-overlay/.settings/org.eclipse.jdt.core.prefs
+++ 
b/juneau-microservice/juneau-microservice-template/build-overlay/.settings/org.eclipse.jdt.core.prefs
@@ -7,9 +7,9 @@ 
org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nul
 org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
 org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.7
+org.eclipse.jdt.core.compiler.compliance=1.8
 org.eclipse.jdt.core.compiler.debug.lineNumber=generate
 org.eclipse.jdt.core.compiler.debug.localVariable=generate
 org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -112,7 +112,7 @@ 
org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
 org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=warning
 org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
 org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.7
+org.eclipse.jdt.core.compiler.source=1.8
 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
 
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
diff --git 
a/juneau-microservice/juneau-microservice-template/build-overlay/pom.xml 
b/juneau-microservice/juneau-microservice-template/build-overlay/pom.xml
index 49e38e9..f39080a 100644
--- a/juneau-microservice/juneau-microservice-template/build-overlay/pom.xml
+++ b/juneau-microservice/juneau-microservice-template/build-overlay/pom.xml
@@ -17,8 +17,11 @@
        This project is meant to be used as a starting point for developers to 
use in creating their own REST microservices.
        It creates a parent REST interface on port 10000 with a single child 
hello-world resource.
        This POM is likewise meant to be used as a starting point for 
developers. It creates an uber-jar
-       to run the microserice from the command line. Copy the jar as well as 
the .cfg file and start it
-       with java -jar juneau-microservice-template-1.0.0.jar microservice.cfg
+       to run the microservice from the command line. 
+       
+       Copy the jar as well as the my-microservice.cfg and jetty.xml file and 
start it with: 
+               java -jar my-microservice-1.0.jar
+               
        The group/artifact/version information is meant to be overwritten by 
developers to match their own needs.
 -->
 <project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://maven.apache.org/xsd/maven-4.0.0.xsd";>
@@ -40,7 +43,7 @@
                <dependency>
                        <groupId>org.apache.juneau</groupId>
                        <artifactId>juneau-microservice-server</artifactId>
-                       <version>${juneau.version}</version>
+                       <version>7.1.0-SNAPSHOT</version>
                </dependency>
        </dependencies>
        
@@ -49,12 +52,35 @@
                        <plugin>
                                <artifactId>maven-compiler-plugin</artifactId>
                                <configuration>
-                                       <source>1.6</source>
-                                       <target>1.6</target>
+                                       <source>1.8</source>
+                                       <target>1.8</target>
                                </configuration>
                        </plugin>
                        <plugin>
                                <groupId>org.apache.maven.plugins</groupId>
+                               <artifactId>maven-resources-plugin</artifactId>
+                               <version>3.0.2</version>
+                               <executions>
+                                       <execution>
+                                               <id>package-config</id>
+                                               <phase>package</phase>
+                                               <goals>
+                                                       
<goal>copy-resources</goal>
+                                               </goals>
+                                               <configuration>
+                                                       
<outputDirectory>target</outputDirectory>
+                                                       <resources>
+                                                               <resource>
+                                                                       
<directory>.</directory>
+                                                                       
<includes>my-microservice.cfg,jetty.xml</includes>
+                                                               </resource>
+                                                       </resources>
+                                               </configuration>
+                                       </execution>
+                               </executions>
+                       </plugin>
+                       <plugin>
+                               <groupId>org.apache.maven.plugins</groupId>
                                <artifactId>maven-jar-plugin</artifactId>
                                <configuration>
                                        <archive>
@@ -63,9 +89,7 @@
                                                        </mainClass>
                                                </manifest>
                                                <manifestEntries>
-                                                       
<Rest-Resources>org.apache.juneau.microservice.sample.RootResources
-                                                       </Rest-Resources>
-                                                       
<Main-ConfigFile>microservice.cfg</Main-ConfigFile>
+                                                       
<Main-ConfigFile>my-microservice.cfg</Main-ConfigFile>
                                                </manifestEntries>
                                        </archive>
                                </configuration>
diff --git 
a/juneau-microservice/juneau-microservice-template/my-microservice.cfg 
b/juneau-microservice/juneau-microservice-template/my-microservice.cfg
index ed3db3d..15d1eff 100755
--- a/juneau-microservice/juneau-microservice-template/my-microservice.cfg
+++ b/juneau-microservice/juneau-microservice-template/my-microservice.cfg
@@ -12,7 +12,7 @@
 # 
***************************************************************************************************************************
 
 
#=======================================================================================================================
-# Basic configuration file for SaaS microservices
+# Basic configuration file for REST microservices
 # Subprojects can use this as a starting point.
 
#=======================================================================================================================
 
diff --git 
a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestCall.java
 
b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestCall.java
index 1e92c99..598adaf 100644
--- 
a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestCall.java
+++ 
b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestCall.java
@@ -63,7 +63,7 @@ import org.apache.juneau.utils.*;
  * 
  * <h5 class='section'>See Also:</h5>
  * <ul>
- *     <li class='link'><a class="doclink" 
href="package-summary.html#RestClient">org.apache.juneau.rest.client &gt; REST 
client API</a>
+ *     <li class='link'><a class="doclink" 
href="../../../../../overview-summary.html#juneau-rest-client">Overview &gt; 
juneau-rest-client</a>
  * </ul>
  */
 @SuppressWarnings({ "unchecked" })
diff --git 
a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestClient.java
 
b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestClient.java
index 482cb43..b77d48b 100644
--- 
a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestClient.java
+++ 
b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestClient.java
@@ -54,9 +54,10 @@ import org.apache.juneau.urlencoding.*;
  *             API for interacting with remoteable services.
  * </ul>
  * 
+ * 
  * <h5 class='section'>See Also:</h5>
  * <ul>
- *     <li class='link'><a class="doclink" 
href="package-summary.html#RestClient">org.apache.juneau.rest.client &gt; REST 
client API</a>.
+ *     <li class='link'><a class="doclink" 
href="../../../../../overview-summary.html#juneau-rest-client">Overview &gt; 
juneau-rest-client</a>
  * </ul>
  */
 @SuppressWarnings("rawtypes")
diff --git 
a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestClientBuilder.java
 
b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestClientBuilder.java
index 2bd7a84..e02a1f1 100644
--- 
a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestClientBuilder.java
+++ 
b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestClientBuilder.java
@@ -63,6 +63,11 @@ import org.apache.juneau.uon.*;
  *     <li>{@link RestClient#create(Class,Class)} - Create from scratch using 
specified serializer/parser classes.
  *     <li>{@link RestClient#builder()} - Copy settings from an existing 
client.
  * </ul>
+ * 
+ * <h5 class='section'>See Also:</h5>
+ * <ul>
+ *     <li class='link'><a class="doclink" 
href="../../../../../overview-summary.html#juneau-rest-client">Overview &gt; 
juneau-rest-client</a>
+ * </ul>
  */
 public class RestClientBuilder extends BeanContextBuilder {
 

-- 
To stop receiving notification emails like this one, please contact
[email protected].

Reply via email to