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 e773e0d680 Relocate microservice demo resources to new
juneau-microservice-examples module (TODO-236)
e773e0d680 is described below
commit e773e0d68061000fdf167a990241abfffea6591f
Author: James Bognar <[email protected]>
AuthorDate: Tue Jul 14 11:36:25 2026 -0400
Relocate microservice demo resources to new juneau-microservice-examples
module (TODO-236)
Move the demo/low-value @Rest resources (LogsResource, LogParser,
DirectoryResource,
ShutdownResource, SampleRootResource, ConfigResource, and the jetty
DebugResource) out of the
shipping juneau-microservice{,-jetty} modules into a new, unpublished
juneau-microservice-examples
module (package org.apache.juneau.microservice.examples) — slimming the
framework's public API and
security footprint while preserving them as reference samples. The
security-hardening (path-traversal
/ ReDoS) that landed with the CodeQL sweep travels with the moved classes
and their tests.
Relocate the genuinely-framework LogEntryFormatter + TraceContext from the
vacated ...resources
package to ...microservice.logging (still in core), and rewire
juneau-petstore-jetty to depend on the
new module for its admin trio. Breaking FQCN change targeted at the 10.0.0
pre-release window.
Co-authored-by: Cursor <[email protected]>
---
.../juneau-microservice-examples}/pom.xml | 77 +++++++---------------
.../juneau/microservice/examples}/ConfigEdit.html | 0
.../microservice/examples}/ConfigResource.java | 2 +-
.../microservice/examples}/DebugResource.java | 2 +-
.../microservice/examples}/DirectoryResource.java | 2 +-
.../juneau/microservice/examples}/LogParser.java | 4 +-
.../microservice/examples}/LogsResource.java | 3 +-
.../microservice/examples}/SampleRootResource.java | 2 +-
.../microservice/examples}/ShutdownResource.java | 2 +-
.../microservice/examples}/package-info.java | 4 +-
.../examples}/ConfigResource_Test.java | 2 +-
.../examples}/DirectoryResource_Action_Test.java | 4 +-
.../examples}/DirectoryResource_Coverage_Test.java | 2 +-
.../DirectoryResource_PathTraversal_Test.java | 2 +-
.../microservice/examples}/LogParser_Test.java | 3 +-
.../examples}/LogsResource_Action_Test.java | 4 +-
.../examples}/LogsResource_Coverage_Test.java | 4 +-
.../examples}/LogsResource_PathTraversal_Test.java | 2 +-
.../examples}/MicroserviceResources_Test.java | 2 +-
.../org/apache/juneau/microservice/LogConfig.java | 2 +-
.../apache/juneau/microservice/Microservice.java | 2 +-
.../{resources => logging}/LogEntryFormatter.java | 2 +-
.../{resources => logging}/TraceContext.java | 2 +-
.../{resources => logging}/package-info.java | 4 +-
.../apache/juneau/microservice/LogConfig_Test.java | 2 +-
.../LogEntryFormatter_Test.java | 2 +-
juneau-microservice/pom.xml | 1 +
juneau-petstore/juneau-petstore-jetty/pom.xml | 6 ++
.../juneau/petstore/jetty/RootResources.java | 2 +-
.../juneau/petstore/springboot/RootResources.java | 7 +-
30 files changed, 68 insertions(+), 87 deletions(-)
diff --git a/juneau-petstore/juneau-petstore-jetty/pom.xml
b/juneau-microservice/juneau-microservice-examples/pom.xml
similarity index 62%
copy from juneau-petstore/juneau-petstore-jetty/pom.xml
copy to juneau-microservice/juneau-microservice-examples/pom.xml
index 6277aeb864..df43b538c6 100644
--- a/juneau-petstore/juneau-petstore-jetty/pom.xml
+++ b/juneau-microservice/juneau-microservice-examples/pom.xml
@@ -21,39 +21,45 @@
<parent>
<groupId>org.apache.juneau</groupId>
- <artifactId>juneau-petstore</artifactId>
+ <artifactId>juneau-microservice-parent</artifactId>
<version>10.0.0-SNAPSHOT</version>
</parent>
- <artifactId>juneau-petstore-jetty</artifactId>
- <name>Apache Juneau Petstore Jetty</name>
- <description>Apache Juneau Petstore - Jetty/Microservice
deployment</description>
+ <artifactId>juneau-microservice-examples</artifactId>
+ <name>Apache Juneau Microservice Examples</name>
+ <description>Apache Juneau Microservice example/demo REST resources
(not shipped as a framework artifact)</description>
<packaging>jar</packaging>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.eclipse.jetty</groupId>
+ <artifactId>jetty-bom</artifactId>
+ <version>${jetty.version}</version>
+ <type>pom</type>
+ <scope>import</scope>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+
<dependencies>
+ <!-- Brings juneau-microservice + juneau-rest-server
transitively, and the jetty-flavored surface for DebugResource. -->
<dependency>
<groupId>org.apache.juneau</groupId>
- <artifactId>juneau-petstore-core</artifactId>
+ <artifactId>juneau-microservice-jetty</artifactId>
<version>${project.version}</version>
</dependency>
+ <!-- DebugResource calls org.eclipse.jetty.server.Server.dump()
directly. -->
<dependency>
- <groupId>org.apache.juneau</groupId>
- <artifactId>juneau-microservice-jetty</artifactId>
- <version>${project.version}</version>
+ <groupId>org.eclipse.jetty</groupId>
+ <artifactId>jetty-server</artifactId>
</dependency>
<!-- Test dependencies -->
- <dependency>
- <groupId>org.apache.juneau</groupId>
- <artifactId>juneau-microservice-jetty</artifactId>
- <version>${project.version}</version>
- <type>test-jar</type>
- <scope>test</scope>
- </dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
@@ -74,7 +80,7 @@
</dependency>
<dependency>
<groupId>org.apache.juneau</groupId>
- <artifactId>juneau-rest-client-classic</artifactId>
+ <artifactId>juneau-rest-mock</artifactId>
<version>${project.version}</version>
<scope>test</scope>
</dependency>
@@ -82,44 +88,6 @@
<build>
<plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-source-plugin</artifactId>
- <executions>
- <execution>
- <id>attach-sources</id>
- <phase>verify</phase>
- <goals>
- <goal>jar-no-fork</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-jar-plugin</artifactId>
- </plugin>
- <plugin>
- <artifactId>maven-assembly-plugin</artifactId>
- <configuration>
- <escapeString>\</escapeString>
- </configuration>
- <executions>
- <execution>
- <id>juneau-assembly</id>
- <phase>package</phase>
- <goals>
- <goal>single</goal>
- </goals>
- <configuration>
-
<finalName>juneau-petstore-jetty-${project.version}</finalName>
- <descriptors>
-
<descriptor>src/assembly/bin.xml</descriptor>
- </descriptors>
- </configuration>
- </execution>
- </executions>
- </plugin>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
@@ -141,4 +109,5 @@
</plugin>
</plugins>
</build>
+
</project>
diff --git
a/juneau-microservice/juneau-microservice/src/main/java/org/apache/juneau/microservice/resources/ConfigEdit.html
b/juneau-microservice/juneau-microservice-examples/src/main/java/org/apache/juneau/microservice/examples/ConfigEdit.html
similarity index 100%
rename from
juneau-microservice/juneau-microservice/src/main/java/org/apache/juneau/microservice/resources/ConfigEdit.html
rename to
juneau-microservice/juneau-microservice-examples/src/main/java/org/apache/juneau/microservice/examples/ConfigEdit.html
diff --git
a/juneau-microservice/juneau-microservice/src/main/java/org/apache/juneau/microservice/resources/ConfigResource.java
b/juneau-microservice/juneau-microservice-examples/src/main/java/org/apache/juneau/microservice/examples/ConfigResource.java
similarity index 99%
rename from
juneau-microservice/juneau-microservice/src/main/java/org/apache/juneau/microservice/resources/ConfigResource.java
rename to
juneau-microservice/juneau-microservice-examples/src/main/java/org/apache/juneau/microservice/examples/ConfigResource.java
index ea93dc4649..eb262c18a2 100755
---
a/juneau-microservice/juneau-microservice/src/main/java/org/apache/juneau/microservice/resources/ConfigResource.java
+++
b/juneau-microservice/juneau-microservice-examples/src/main/java/org/apache/juneau/microservice/examples/ConfigResource.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.juneau.microservice.resources;
+package org.apache.juneau.microservice.examples;
import static org.apache.juneau.bean.html5.HtmlBuilder.*;
diff --git
a/juneau-microservice/juneau-microservice-jetty/src/main/java/org/apache/juneau/microservice/jetty/resources/DebugResource.java
b/juneau-microservice/juneau-microservice-examples/src/main/java/org/apache/juneau/microservice/examples/DebugResource.java
similarity index 98%
rename from
juneau-microservice/juneau-microservice-jetty/src/main/java/org/apache/juneau/microservice/jetty/resources/DebugResource.java
rename to
juneau-microservice/juneau-microservice-examples/src/main/java/org/apache/juneau/microservice/examples/DebugResource.java
index f01d75849e..0c0fe328d2 100644
---
a/juneau-microservice/juneau-microservice-jetty/src/main/java/org/apache/juneau/microservice/jetty/resources/DebugResource.java
+++
b/juneau-microservice/juneau-microservice-examples/src/main/java/org/apache/juneau/microservice/examples/DebugResource.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.juneau.microservice.jetty.resources;
+package org.apache.juneau.microservice.examples;
import java.io.*;
diff --git
a/juneau-microservice/juneau-microservice/src/main/java/org/apache/juneau/microservice/resources/DirectoryResource.java
b/juneau-microservice/juneau-microservice-examples/src/main/java/org/apache/juneau/microservice/examples/DirectoryResource.java
similarity index 99%
rename from
juneau-microservice/juneau-microservice/src/main/java/org/apache/juneau/microservice/resources/DirectoryResource.java
rename to
juneau-microservice/juneau-microservice-examples/src/main/java/org/apache/juneau/microservice/examples/DirectoryResource.java
index 193b473c1b..36e61ba59e 100755
---
a/juneau-microservice/juneau-microservice/src/main/java/org/apache/juneau/microservice/resources/DirectoryResource.java
+++
b/juneau-microservice/juneau-microservice-examples/src/main/java/org/apache/juneau/microservice/examples/DirectoryResource.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.juneau.microservice.resources;
+package org.apache.juneau.microservice.examples;
import static org.apache.juneau.commons.utils.CollectionUtils.*;
import static org.apache.juneau.commons.utils.IoUtils.*;
diff --git
a/juneau-microservice/juneau-microservice/src/main/java/org/apache/juneau/microservice/resources/LogParser.java
b/juneau-microservice/juneau-microservice-examples/src/main/java/org/apache/juneau/microservice/examples/LogParser.java
similarity index 98%
rename from
juneau-microservice/juneau-microservice/src/main/java/org/apache/juneau/microservice/resources/LogParser.java
rename to
juneau-microservice/juneau-microservice-examples/src/main/java/org/apache/juneau/microservice/examples/LogParser.java
index fcd259bd7c..5c0974103d 100644
---
a/juneau-microservice/juneau-microservice/src/main/java/org/apache/juneau/microservice/resources/LogParser.java
+++
b/juneau-microservice/juneau-microservice-examples/src/main/java/org/apache/juneau/microservice/examples/LogParser.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.juneau.microservice.resources;
+package org.apache.juneau.microservice.examples;
import static org.apache.juneau.commons.utils.Shorts.*;
@@ -24,6 +24,8 @@ import java.text.*;
import java.util.*;
import java.util.regex.*;
+import org.apache.juneau.microservice.logging.*;
+
/**
* Utility class for reading log files.
*
diff --git
a/juneau-microservice/juneau-microservice/src/main/java/org/apache/juneau/microservice/resources/LogsResource.java
b/juneau-microservice/juneau-microservice-examples/src/main/java/org/apache/juneau/microservice/examples/LogsResource.java
similarity index 99%
rename from
juneau-microservice/juneau-microservice/src/main/java/org/apache/juneau/microservice/resources/LogsResource.java
rename to
juneau-microservice/juneau-microservice-examples/src/main/java/org/apache/juneau/microservice/examples/LogsResource.java
index c86ecf7d27..9971d91b0b 100644
---
a/juneau-microservice/juneau-microservice/src/main/java/org/apache/juneau/microservice/resources/LogsResource.java
+++
b/juneau-microservice/juneau-microservice-examples/src/main/java/org/apache/juneau/microservice/examples/LogsResource.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.juneau.microservice.resources;
+package org.apache.juneau.microservice.examples;
import static org.apache.juneau.commons.utils.Shorts.*;
import static org.apache.juneau.commons.utils.StringUtils.*;
@@ -35,6 +35,7 @@ import org.apache.juneau.http.*;
import org.apache.juneau.http.Path;
import org.apache.juneau.http.classic.response.*;
import org.apache.juneau.marshall.html.*;
+import org.apache.juneau.microservice.logging.*;
import org.apache.juneau.rest.server.*;
import org.apache.juneau.rest.server.beans.*;
import org.apache.juneau.rest.server.converter.*;
diff --git
a/juneau-microservice/juneau-microservice/src/main/java/org/apache/juneau/microservice/resources/SampleRootResource.java
b/juneau-microservice/juneau-microservice-examples/src/main/java/org/apache/juneau/microservice/examples/SampleRootResource.java
similarity index 96%
rename from
juneau-microservice/juneau-microservice/src/main/java/org/apache/juneau/microservice/resources/SampleRootResource.java
rename to
juneau-microservice/juneau-microservice-examples/src/main/java/org/apache/juneau/microservice/examples/SampleRootResource.java
index 767dee51e1..7fe0b1b88f 100755
---
a/juneau-microservice/juneau-microservice/src/main/java/org/apache/juneau/microservice/resources/SampleRootResource.java
+++
b/juneau-microservice/juneau-microservice-examples/src/main/java/org/apache/juneau/microservice/examples/SampleRootResource.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.juneau.microservice.resources;
+package org.apache.juneau.microservice.examples;
import org.apache.juneau.rest.server.*;
import org.apache.juneau.rest.server.servlet.*;
diff --git
a/juneau-microservice/juneau-microservice/src/main/java/org/apache/juneau/microservice/resources/ShutdownResource.java
b/juneau-microservice/juneau-microservice-examples/src/main/java/org/apache/juneau/microservice/examples/ShutdownResource.java
similarity index 97%
rename from
juneau-microservice/juneau-microservice/src/main/java/org/apache/juneau/microservice/resources/ShutdownResource.java
rename to
juneau-microservice/juneau-microservice-examples/src/main/java/org/apache/juneau/microservice/examples/ShutdownResource.java
index 8c3cf254e2..e0f0c401a4 100755
---
a/juneau-microservice/juneau-microservice/src/main/java/org/apache/juneau/microservice/resources/ShutdownResource.java
+++
b/juneau-microservice/juneau-microservice-examples/src/main/java/org/apache/juneau/microservice/examples/ShutdownResource.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.juneau.microservice.resources;
+package org.apache.juneau.microservice.examples;
import org.apache.juneau.rest.server.*;
import org.apache.juneau.rest.server.servlet.*;
diff --git
a/juneau-microservice/juneau-microservice-jetty/src/main/java/org/apache/juneau/microservice/jetty/resources/package-info.java
b/juneau-microservice/juneau-microservice-examples/src/main/java/org/apache/juneau/microservice/examples/package-info.java
similarity index 89%
rename from
juneau-microservice/juneau-microservice-jetty/src/main/java/org/apache/juneau/microservice/jetty/resources/package-info.java
rename to
juneau-microservice/juneau-microservice-examples/src/main/java/org/apache/juneau/microservice/examples/package-info.java
index 605a21aa6d..8df7de5999 100755
---
a/juneau-microservice/juneau-microservice-jetty/src/main/java/org/apache/juneau/microservice/jetty/resources/package-info.java
+++
b/juneau-microservice/juneau-microservice-examples/src/main/java/org/apache/juneau/microservice/examples/package-info.java
@@ -15,6 +15,6 @@
* limitations under the License.
*/
/**
- * Predefined Jetty Microservice Resources
+ * Example / demo Microservice REST Resources
*/
-package org.apache.juneau.microservice.jetty.resources;
+package org.apache.juneau.microservice.examples;
diff --git
a/juneau-microservice/juneau-microservice/src/test/java/org/apache/juneau/microservice/resources/ConfigResource_Test.java
b/juneau-microservice/juneau-microservice-examples/src/test/java/org/apache/juneau/microservice/examples/ConfigResource_Test.java
similarity index 99%
rename from
juneau-microservice/juneau-microservice/src/test/java/org/apache/juneau/microservice/resources/ConfigResource_Test.java
rename to
juneau-microservice/juneau-microservice-examples/src/test/java/org/apache/juneau/microservice/examples/ConfigResource_Test.java
index a1b52d3e28..77683b8baf 100644
---
a/juneau-microservice/juneau-microservice/src/test/java/org/apache/juneau/microservice/resources/ConfigResource_Test.java
+++
b/juneau-microservice/juneau-microservice-examples/src/test/java/org/apache/juneau/microservice/examples/ConfigResource_Test.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.juneau.microservice.resources;
+package org.apache.juneau.microservice.examples;
import static org.junit.jupiter.api.Assertions.*;
diff --git
a/juneau-microservice/juneau-microservice/src/test/java/org/apache/juneau/microservice/resources/DirectoryResource_Action_Test.java
b/juneau-microservice/juneau-microservice-examples/src/test/java/org/apache/juneau/microservice/examples/DirectoryResource_Action_Test.java
similarity index 96%
rename from
juneau-microservice/juneau-microservice/src/test/java/org/apache/juneau/microservice/resources/DirectoryResource_Action_Test.java
rename to
juneau-microservice/juneau-microservice-examples/src/test/java/org/apache/juneau/microservice/examples/DirectoryResource_Action_Test.java
index 36908e54bd..21e3f5750d 100644
---
a/juneau-microservice/juneau-microservice/src/test/java/org/apache/juneau/microservice/resources/DirectoryResource_Action_Test.java
+++
b/juneau-microservice/juneau-microservice-examples/src/test/java/org/apache/juneau/microservice/examples/DirectoryResource_Action_Test.java
@@ -10,14 +10,14 @@
// * "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. *
//
***************************************************************************************************************************
-package org.apache.juneau.microservice.resources;
+package org.apache.juneau.microservice.examples;
import static org.junit.jupiter.api.Assertions.*;
import java.net.*;
import org.apache.juneau.*;
-import org.apache.juneau.microservice.resources.DirectoryResource.*;
+import org.apache.juneau.microservice.examples.DirectoryResource.*;
import org.junit.jupiter.api.*;
/**
diff --git
a/juneau-microservice/juneau-microservice/src/test/java/org/apache/juneau/microservice/resources/DirectoryResource_Coverage_Test.java
b/juneau-microservice/juneau-microservice-examples/src/test/java/org/apache/juneau/microservice/examples/DirectoryResource_Coverage_Test.java
similarity index 99%
rename from
juneau-microservice/juneau-microservice/src/test/java/org/apache/juneau/microservice/resources/DirectoryResource_Coverage_Test.java
rename to
juneau-microservice/juneau-microservice-examples/src/test/java/org/apache/juneau/microservice/examples/DirectoryResource_Coverage_Test.java
index 1f87d41654..866c74323c 100644
---
a/juneau-microservice/juneau-microservice/src/test/java/org/apache/juneau/microservice/resources/DirectoryResource_Coverage_Test.java
+++
b/juneau-microservice/juneau-microservice-examples/src/test/java/org/apache/juneau/microservice/examples/DirectoryResource_Coverage_Test.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.juneau.microservice.resources;
+package org.apache.juneau.microservice.examples;
import static org.junit.jupiter.api.Assertions.*;
diff --git
a/juneau-microservice/juneau-microservice/src/test/java/org/apache/juneau/microservice/resources/DirectoryResource_PathTraversal_Test.java
b/juneau-microservice/juneau-microservice-examples/src/test/java/org/apache/juneau/microservice/examples/DirectoryResource_PathTraversal_Test.java
similarity index 99%
rename from
juneau-microservice/juneau-microservice/src/test/java/org/apache/juneau/microservice/resources/DirectoryResource_PathTraversal_Test.java
rename to
juneau-microservice/juneau-microservice-examples/src/test/java/org/apache/juneau/microservice/examples/DirectoryResource_PathTraversal_Test.java
index 576b25a679..8e3d07df54 100644
---
a/juneau-microservice/juneau-microservice/src/test/java/org/apache/juneau/microservice/resources/DirectoryResource_PathTraversal_Test.java
+++
b/juneau-microservice/juneau-microservice-examples/src/test/java/org/apache/juneau/microservice/examples/DirectoryResource_PathTraversal_Test.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.juneau.microservice.resources;
+package org.apache.juneau.microservice.examples;
import static org.junit.jupiter.api.Assertions.*;
import static org.junit.jupiter.api.Assumptions.*;
diff --git
a/juneau-microservice/juneau-microservice/src/test/java/org/apache/juneau/microservice/resources/LogParser_Test.java
b/juneau-microservice/juneau-microservice-examples/src/test/java/org/apache/juneau/microservice/examples/LogParser_Test.java
similarity index 99%
rename from
juneau-microservice/juneau-microservice/src/test/java/org/apache/juneau/microservice/resources/LogParser_Test.java
rename to
juneau-microservice/juneau-microservice-examples/src/test/java/org/apache/juneau/microservice/examples/LogParser_Test.java
index 69ed84c7f6..e6f3c40e75 100644
---
a/juneau-microservice/juneau-microservice/src/test/java/org/apache/juneau/microservice/resources/LogParser_Test.java
+++
b/juneau-microservice/juneau-microservice-examples/src/test/java/org/apache/juneau/microservice/examples/LogParser_Test.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.juneau.microservice.resources;
+package org.apache.juneau.microservice.examples;
import static org.junit.jupiter.api.Assertions.*;
@@ -24,6 +24,7 @@ import java.util.*;
import java.util.logging.*;
import org.apache.juneau.*;
+import org.apache.juneau.microservice.logging.*;
import org.junit.jupiter.api.*;
import org.junit.jupiter.api.io.*;
diff --git
a/juneau-microservice/juneau-microservice/src/test/java/org/apache/juneau/microservice/resources/LogsResource_Action_Test.java
b/juneau-microservice/juneau-microservice-examples/src/test/java/org/apache/juneau/microservice/examples/LogsResource_Action_Test.java
similarity index 96%
rename from
juneau-microservice/juneau-microservice/src/test/java/org/apache/juneau/microservice/resources/LogsResource_Action_Test.java
rename to
juneau-microservice/juneau-microservice-examples/src/test/java/org/apache/juneau/microservice/examples/LogsResource_Action_Test.java
index 07fbff68b0..d959db6b46 100644
---
a/juneau-microservice/juneau-microservice/src/test/java/org/apache/juneau/microservice/resources/LogsResource_Action_Test.java
+++
b/juneau-microservice/juneau-microservice-examples/src/test/java/org/apache/juneau/microservice/examples/LogsResource_Action_Test.java
@@ -14,12 +14,12 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.juneau.microservice.resources;
+package org.apache.juneau.microservice.examples;
import static org.junit.jupiter.api.Assertions.*;
import org.apache.juneau.*;
-import org.apache.juneau.microservice.resources.LogsResource.*;
+import org.apache.juneau.microservice.examples.LogsResource.*;
import org.junit.jupiter.api.*;
/**
diff --git
a/juneau-microservice/juneau-microservice/src/test/java/org/apache/juneau/microservice/resources/LogsResource_Coverage_Test.java
b/juneau-microservice/juneau-microservice-examples/src/test/java/org/apache/juneau/microservice/examples/LogsResource_Coverage_Test.java
similarity index 99%
rename from
juneau-microservice/juneau-microservice/src/test/java/org/apache/juneau/microservice/resources/LogsResource_Coverage_Test.java
rename to
juneau-microservice/juneau-microservice-examples/src/test/java/org/apache/juneau/microservice/examples/LogsResource_Coverage_Test.java
index 215ee9bbf2..8aa36f7f77 100644
---
a/juneau-microservice/juneau-microservice/src/test/java/org/apache/juneau/microservice/resources/LogsResource_Coverage_Test.java
+++
b/juneau-microservice/juneau-microservice-examples/src/test/java/org/apache/juneau/microservice/examples/LogsResource_Coverage_Test.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.juneau.microservice.resources;
+package org.apache.juneau.microservice.examples;
import static org.junit.jupiter.api.Assertions.*;
@@ -24,7 +24,7 @@ import org.apache.juneau.*;
import org.apache.juneau.bean.*;
import org.apache.juneau.commons.inject.*;
import org.apache.juneau.config.*;
-import org.apache.juneau.microservice.resources.LogsResource.*;
+import org.apache.juneau.microservice.examples.LogsResource.*;
import org.apache.juneau.rest.mock.classic.*;
import org.apache.juneau.rest.server.*;
import org.junit.jupiter.api.*;
diff --git
a/juneau-microservice/juneau-microservice/src/test/java/org/apache/juneau/microservice/resources/LogsResource_PathTraversal_Test.java
b/juneau-microservice/juneau-microservice-examples/src/test/java/org/apache/juneau/microservice/examples/LogsResource_PathTraversal_Test.java
similarity index 99%
rename from
juneau-microservice/juneau-microservice/src/test/java/org/apache/juneau/microservice/resources/LogsResource_PathTraversal_Test.java
rename to
juneau-microservice/juneau-microservice-examples/src/test/java/org/apache/juneau/microservice/examples/LogsResource_PathTraversal_Test.java
index 5e3328ca7f..6d70a2d496 100644
---
a/juneau-microservice/juneau-microservice/src/test/java/org/apache/juneau/microservice/resources/LogsResource_PathTraversal_Test.java
+++
b/juneau-microservice/juneau-microservice-examples/src/test/java/org/apache/juneau/microservice/examples/LogsResource_PathTraversal_Test.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.juneau.microservice.resources;
+package org.apache.juneau.microservice.examples;
import static org.junit.jupiter.api.Assertions.*;
import static org.junit.jupiter.api.Assumptions.*;
diff --git
a/juneau-microservice/juneau-microservice/src/test/java/org/apache/juneau/microservice/resources/MicroserviceResources_Test.java
b/juneau-microservice/juneau-microservice-examples/src/test/java/org/apache/juneau/microservice/examples/MicroserviceResources_Test.java
similarity index 99%
rename from
juneau-microservice/juneau-microservice/src/test/java/org/apache/juneau/microservice/resources/MicroserviceResources_Test.java
rename to
juneau-microservice/juneau-microservice-examples/src/test/java/org/apache/juneau/microservice/examples/MicroserviceResources_Test.java
index fd13e7231a..d775df5fc1 100644
---
a/juneau-microservice/juneau-microservice/src/test/java/org/apache/juneau/microservice/resources/MicroserviceResources_Test.java
+++
b/juneau-microservice/juneau-microservice-examples/src/test/java/org/apache/juneau/microservice/examples/MicroserviceResources_Test.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.juneau.microservice.resources;
+package org.apache.juneau.microservice.examples;
import static org.junit.jupiter.api.Assertions.*;
diff --git
a/juneau-microservice/juneau-microservice/src/main/java/org/apache/juneau/microservice/LogConfig.java
b/juneau-microservice/juneau-microservice/src/main/java/org/apache/juneau/microservice/LogConfig.java
index 157444f4a6..35ccd42622 100644
---
a/juneau-microservice/juneau-microservice/src/main/java/org/apache/juneau/microservice/LogConfig.java
+++
b/juneau-microservice/juneau-microservice/src/main/java/org/apache/juneau/microservice/LogConfig.java
@@ -20,7 +20,7 @@ import java.util.*;
import java.util.logging.*;
import java.util.logging.Formatter;
-import org.apache.juneau.microservice.resources.*;
+import org.apache.juneau.microservice.logging.*;
/**
* Can be used for configuration of simple logging in the microservice.
diff --git
a/juneau-microservice/juneau-microservice/src/main/java/org/apache/juneau/microservice/Microservice.java
b/juneau-microservice/juneau-microservice/src/main/java/org/apache/juneau/microservice/Microservice.java
index e3f1fcec6c..4e5edb0eb1 100755
---
a/juneau-microservice/juneau-microservice/src/main/java/org/apache/juneau/microservice/Microservice.java
+++
b/juneau-microservice/juneau-microservice/src/main/java/org/apache/juneau/microservice/Microservice.java
@@ -47,7 +47,7 @@ import org.apache.juneau.marshall.collections.*;
import org.apache.juneau.marshall.cp.*;
import org.apache.juneau.marshall.parser.ParseException;
import org.apache.juneau.microservice.console.*;
-import org.apache.juneau.microservice.resources.*;
+import org.apache.juneau.microservice.logging.*;
/**
* Parent class for all microservices.
diff --git
a/juneau-microservice/juneau-microservice/src/main/java/org/apache/juneau/microservice/resources/LogEntryFormatter.java
b/juneau-microservice/juneau-microservice/src/main/java/org/apache/juneau/microservice/logging/LogEntryFormatter.java
similarity index 99%
rename from
juneau-microservice/juneau-microservice/src/main/java/org/apache/juneau/microservice/resources/LogEntryFormatter.java
rename to
juneau-microservice/juneau-microservice/src/main/java/org/apache/juneau/microservice/logging/LogEntryFormatter.java
index 01e3fd66f7..be7c15ffdd 100644
---
a/juneau-microservice/juneau-microservice/src/main/java/org/apache/juneau/microservice/resources/LogEntryFormatter.java
+++
b/juneau-microservice/juneau-microservice/src/main/java/org/apache/juneau/microservice/logging/LogEntryFormatter.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.juneau.microservice.resources;
+package org.apache.juneau.microservice.logging;
import static org.apache.juneau.commons.lang.StateEnum.*;
import static org.apache.juneau.commons.utils.CollectionUtils.*;
diff --git
a/juneau-microservice/juneau-microservice/src/main/java/org/apache/juneau/microservice/resources/TraceContext.java
b/juneau-microservice/juneau-microservice/src/main/java/org/apache/juneau/microservice/logging/TraceContext.java
similarity index 99%
rename from
juneau-microservice/juneau-microservice/src/main/java/org/apache/juneau/microservice/resources/TraceContext.java
rename to
juneau-microservice/juneau-microservice/src/main/java/org/apache/juneau/microservice/logging/TraceContext.java
index dceb97b040..36522a7d3d 100644
---
a/juneau-microservice/juneau-microservice/src/main/java/org/apache/juneau/microservice/resources/TraceContext.java
+++
b/juneau-microservice/juneau-microservice/src/main/java/org/apache/juneau/microservice/logging/TraceContext.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.juneau.microservice.resources;
+package org.apache.juneau.microservice.logging;
import java.lang.reflect.*;
import java.util.logging.*;
diff --git
a/juneau-microservice/juneau-microservice/src/main/java/org/apache/juneau/microservice/resources/package-info.java
b/juneau-microservice/juneau-microservice/src/main/java/org/apache/juneau/microservice/logging/package-info.java
old mode 100755
new mode 100644
similarity index 90%
rename from
juneau-microservice/juneau-microservice/src/main/java/org/apache/juneau/microservice/resources/package-info.java
rename to
juneau-microservice/juneau-microservice/src/main/java/org/apache/juneau/microservice/logging/package-info.java
index 9026d8b540..0f9b9b0066
---
a/juneau-microservice/juneau-microservice/src/main/java/org/apache/juneau/microservice/resources/package-info.java
+++
b/juneau-microservice/juneau-microservice/src/main/java/org/apache/juneau/microservice/logging/package-info.java
@@ -15,6 +15,6 @@
* limitations under the License.
*/
/**
- * Predefined Microservice Resources
+ * Microservice Logging Infrastructure
*/
-package org.apache.juneau.microservice.resources;
+package org.apache.juneau.microservice.logging;
diff --git
a/juneau-microservice/juneau-microservice/src/test/java/org/apache/juneau/microservice/LogConfig_Test.java
b/juneau-microservice/juneau-microservice/src/test/java/org/apache/juneau/microservice/LogConfig_Test.java
index 5d055830f9..c642168070 100644
---
a/juneau-microservice/juneau-microservice/src/test/java/org/apache/juneau/microservice/LogConfig_Test.java
+++
b/juneau-microservice/juneau-microservice/src/test/java/org/apache/juneau/microservice/LogConfig_Test.java
@@ -24,7 +24,7 @@ import java.util.logging.*;
import java.util.logging.Formatter;
import org.apache.juneau.*;
-import org.apache.juneau.microservice.resources.*;
+import org.apache.juneau.microservice.logging.*;
import org.junit.jupiter.api.*;
/**
diff --git
a/juneau-microservice/juneau-microservice/src/test/java/org/apache/juneau/microservice/resources/LogEntryFormatter_Test.java
b/juneau-microservice/juneau-microservice/src/test/java/org/apache/juneau/microservice/logging/LogEntryFormatter_Test.java
similarity index 99%
rename from
juneau-microservice/juneau-microservice/src/test/java/org/apache/juneau/microservice/resources/LogEntryFormatter_Test.java
rename to
juneau-microservice/juneau-microservice/src/test/java/org/apache/juneau/microservice/logging/LogEntryFormatter_Test.java
index 1c8b29540e..bc85596695 100644
---
a/juneau-microservice/juneau-microservice/src/test/java/org/apache/juneau/microservice/resources/LogEntryFormatter_Test.java
+++
b/juneau-microservice/juneau-microservice/src/test/java/org/apache/juneau/microservice/logging/LogEntryFormatter_Test.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.juneau.microservice.resources;
+package org.apache.juneau.microservice.logging;
import static org.junit.jupiter.api.Assertions.*;
diff --git a/juneau-microservice/pom.xml b/juneau-microservice/pom.xml
index 8f55c125cf..a096d18d3e 100644
--- a/juneau-microservice/pom.xml
+++ b/juneau-microservice/pom.xml
@@ -35,6 +35,7 @@
<module>juneau-microservice-jetty</module>
<module>juneau-microservice-tomcat</module>
<module>juneau-microservice-test</module>
+ <module>juneau-microservice-examples</module>
</modules>
<build>
diff --git a/juneau-petstore/juneau-petstore-jetty/pom.xml
b/juneau-petstore/juneau-petstore-jetty/pom.xml
index 6277aeb864..74ddc0c2e8 100644
--- a/juneau-petstore/juneau-petstore-jetty/pom.xml
+++ b/juneau-petstore/juneau-petstore-jetty/pom.xml
@@ -45,6 +45,12 @@
<artifactId>juneau-microservice-jetty</artifactId>
<version>${project.version}</version>
</dependency>
+ <!-- Provides the ConfigResource/LogsResource/ShutdownResource
admin trio mounted by RootResources. -->
+ <dependency>
+ <groupId>org.apache.juneau</groupId>
+ <artifactId>juneau-microservice-examples</artifactId>
+ <version>${project.version}</version>
+ </dependency>
<!-- Test dependencies -->
<dependency>
diff --git
a/juneau-petstore/juneau-petstore-jetty/src/main/java/org/apache/juneau/petstore/jetty/RootResources.java
b/juneau-petstore/juneau-petstore-jetty/src/main/java/org/apache/juneau/petstore/jetty/RootResources.java
index d0cfe6f020..aaead2cce7 100644
---
a/juneau-petstore/juneau-petstore-jetty/src/main/java/org/apache/juneau/petstore/jetty/RootResources.java
+++
b/juneau-petstore/juneau-petstore-jetty/src/main/java/org/apache/juneau/petstore/jetty/RootResources.java
@@ -18,7 +18,7 @@ package org.apache.juneau.petstore.jetty;
import org.apache.juneau.marshall.html.*;
import org.apache.juneau.marshall.serializer.*;
-import org.apache.juneau.microservice.resources.*;
+import org.apache.juneau.microservice.examples.*;
import org.apache.juneau.petstore.rest.*;
import org.apache.juneau.rest.server.*;
import org.apache.juneau.rest.server.servlet.*;
diff --git
a/juneau-petstore/juneau-petstore-springboot/src/main/java/org/apache/juneau/petstore/springboot/RootResources.java
b/juneau-petstore/juneau-petstore-springboot/src/main/java/org/apache/juneau/petstore/springboot/RootResources.java
index 6a4a982e67..dab3c7ca79 100644
---
a/juneau-petstore/juneau-petstore-springboot/src/main/java/org/apache/juneau/petstore/springboot/RootResources.java
+++
b/juneau-petstore/juneau-petstore-springboot/src/main/java/org/apache/juneau/petstore/springboot/RootResources.java
@@ -34,9 +34,10 @@ import org.apache.juneau.rest.server.widget.*;
*
* <p>
* Note: this Spring Boot deployment intentionally does NOT mount the
Jetty/Microservice admin trio
- * ({@code ConfigResource}/{@code LogsResource}/{@code ShutdownResource}) —
those are Jetty-only and have no
- * meaningful analogue here (Spring Boot has its own actuator surface). This
is the documented non-parity
- * deployment-specific difference between the two petstore deployments.
+ * ({@code ConfigResource}/{@code LogsResource}/{@code ShutdownResource}, now
in the
+ * {@code juneau-microservice-examples} module) — those are Jetty-only and
have no meaningful analogue here
+ * (Spring Boot has its own actuator surface). This is the documented
non-parity deployment-specific
+ * difference between the two petstore deployments.
*
* <h5 class='section'>See Also:</h5><ul>
* <li class='link'><a class="doclink"
href="https://juneau.apache.org/docs/topics/JuneauPetstore">juneau-petstore</a>