Add Aries JAX-RS example

This example creates both an Atomos indexed uber JAR
and a substrate native image with a very simple
hello JAX-RS resource.  The resource is a DS
component that gets injected with another
OSGi service.

The maven plugin should have calculated
the necessary configuration files for reflection
but there seemed to be things missing. This example
has additional AgentConfig.json files that were gathered
by using the graal agent to discover the necessary
resources and reflect configs for substrate.
diff --git a/atomos.examples/atomos.examples.jaxrs.bundle/pom.xml b/atomos.examples/atomos.examples.jaxrs.bundle/pom.xml
new file mode 100644
index 0000000..92321cf
--- /dev/null
+++ b/atomos.examples/atomos.examples.jaxrs.bundle/pom.xml
@@ -0,0 +1,61 @@
+<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/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.apache.felix.atomos.examples</groupId>
+        <artifactId>org.apache.felix.atomos.examples</artifactId>
+        <version>0.0.1-SNAPSHOT</version>
+    </parent>
+    <artifactId>org.apache.felix.atomos.examples.jaxrs.bundle</artifactId>
+    <name>atomos.examples.jaxrs.bundle</name>
+    <dependencies>
+        <dependency>
+            <groupId>org.osgi</groupId>
+            <artifactId>osgi.annotation</artifactId>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.osgi</groupId>
+            <artifactId>org.osgi.service.component.annotations</artifactId>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.geronimo.specs</groupId>
+            <artifactId>geronimo-jaxrs_2.1_spec</artifactId>
+            <version>1.1</version>
+        </dependency>
+        <dependency>
+            <groupId>org.osgi</groupId>
+            <artifactId>org.osgi.service.jaxrs</artifactId>
+            <version>1.0.0</version>
+        </dependency>
+    </dependencies>
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>default-compile</id>
+                        <configuration>
+                            <release>8</release>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>biz.aQute.bnd</groupId>
+                <artifactId>bnd-maven-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-jar-plugin</artifactId>
+                <configuration>
+                    <archive>
+                        <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
+                    </archive>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+</project>
diff --git a/atomos.examples/atomos.examples.jaxrs.bundle/src/main/java/org/apache/felix/atomos/examples/jaxrs/bundle/HelloResource.java b/atomos.examples/atomos.examples.jaxrs.bundle/src/main/java/org/apache/felix/atomos/examples/jaxrs/bundle/HelloResource.java
new file mode 100644
index 0000000..c766dc2
--- /dev/null
+++ b/atomos.examples/atomos.examples.jaxrs.bundle/src/main/java/org/apache/felix/atomos/examples/jaxrs/bundle/HelloResource.java
@@ -0,0 +1,39 @@
+package org.apache.felix.atomos.examples.jaxrs.bundle;
+
+import javax.ws.rs.GET;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+
+import org.osgi.service.component.annotations.Activate;
+import org.osgi.service.component.annotations.Component;
+import org.osgi.service.component.annotations.Deactivate;
+import org.osgi.service.component.annotations.Reference;
+import org.osgi.service.component.annotations.ServiceScope;
+import org.osgi.service.jaxrs.whiteboard.propertytypes.JaxrsResource;
+
+@Component(service = HelloResource.class, scope = ServiceScope.PROTOTYPE)
+@JaxrsResource
+public class HelloResource
+{
+    private final HelloService helloService;
+
+    @Activate
+    public HelloResource(@Reference HelloService helloService)
+    {
+        this.helloService = helloService;
+        System.out.println(getClass().getSimpleName() + " JAX-RS activated");
+    }
+
+    @Deactivate
+    void deactivate()
+    {
+        System.out.println(getClass().getSimpleName() + " JAX-RS deactivated");
+    }
+
+    @GET
+    @Path("hello/{name}")
+    public String sayHello(@PathParam("name") String name)
+    {
+        return helloService.computeHelloMessage(name);
+    }
+}
diff --git a/atomos.examples/atomos.examples.jaxrs.bundle/src/main/java/org/apache/felix/atomos/examples/jaxrs/bundle/HelloService.java b/atomos.examples/atomos.examples.jaxrs.bundle/src/main/java/org/apache/felix/atomos/examples/jaxrs/bundle/HelloService.java
new file mode 100644
index 0000000..4d7a736
--- /dev/null
+++ b/atomos.examples/atomos.examples.jaxrs.bundle/src/main/java/org/apache/felix/atomos/examples/jaxrs/bundle/HelloService.java
@@ -0,0 +1,26 @@
+package org.apache.felix.atomos.examples.jaxrs.bundle;
+
+import org.osgi.service.component.annotations.Activate;
+import org.osgi.service.component.annotations.Component;
+import org.osgi.service.component.annotations.Deactivate;
+
+@Component(service = HelloService.class)
+public class HelloService
+{
+    @Activate
+    void activate()
+    {
+        System.out.println(getClass().getSimpleName() + " activated");
+    }
+
+    @Deactivate
+    void deactivate()
+    {
+        System.out.println(getClass().getSimpleName() + " deactivated");
+    }
+
+    public String computeHelloMessage(String name)
+    {
+        return "Hello " + name;
+    }
+}
diff --git a/atomos.examples/atomos.examples.jaxrs/additionalResourceConfig.json b/atomos.examples/atomos.examples.jaxrs/additionalResourceConfig.json
new file mode 100644
index 0000000..2c0fa21
--- /dev/null
+++ b/atomos.examples/atomos.examples.jaxrs/additionalResourceConfig.json
@@ -0,0 +1,16 @@
+{
+	"resources": [
+		{
+			"pattern": "META-INF/services/.*$"
+		},
+		{
+			"pattern": "templates/.*$"
+		},
+		{
+			"pattern": "res/.*$"
+		},
+		{
+			"pattern": "/system/console/res/imgs/favicon.ico"
+		}
+	]
+}
diff --git a/atomos.examples/atomos.examples.jaxrs/pom.xml b/atomos.examples/atomos.examples.jaxrs/pom.xml
new file mode 100644
index 0000000..9284f77
--- /dev/null
+++ b/atomos.examples/atomos.examples.jaxrs/pom.xml
@@ -0,0 +1,230 @@
+<?xml version="1.0"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.apache.felix.atomos.examples</groupId>
+        <artifactId>org.apache.felix.atomos.examples</artifactId>
+        <version>0.0.1-SNAPSHOT</version>
+    </parent>
+    <artifactId>org.apache.felix.atomos.examples.jaxrs</artifactId>
+    <name>atomos.examples.jaxrs</name>
+    <description>Atomos example using Aries JAX-RS</description>
+
+    <repositories>
+        <repository>
+            <id>atomos-temp-m2repo</id>
+            <url>https://github.com/tjwatson/atomos-temp-m2repo/raw/master/repository</url>
+            <snapshots>
+                <enabled>true</enabled>
+                <updatePolicy>always</updatePolicy>
+            </snapshots>
+        </repository>
+    </repositories>
+    <properties>
+        <jaxb.version>2.3.3</jaxb.version>
+        <aries.jaxrs.version>1.0.9</aries.jaxrs.version>
+    </properties>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.felix.atomos.osgi.frameworks.equinox</groupId>
+            <artifactId>atomos.osgi.framework</artifactId>
+            <version>${atomos.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.felix</groupId>
+            <artifactId>org.apache.felix.atomos.runtime</artifactId>
+            <version>${atomos.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.felix.atomos.examples</groupId>
+            <artifactId>org.apache.felix.atomos.examples.webconsole.bom</artifactId>
+            <version>${atomos.version}</version>
+            <type>pom</type>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.felix.atomos.examples</groupId>
+            <artifactId>org.apache.felix.atomos.examples.jaxrs.bundle</artifactId>
+            <version>${atomos.version}</version>
+            <scope>runtime</scope>
+        </dependency>
+        <dependency>
+            <groupId>com.sun.activation</groupId>
+            <artifactId>jakarta.activation</artifactId>
+            <version>1.2.2</version>
+            <scope>runtime</scope>
+        </dependency>
+        <dependency>
+            <groupId>com.sun.xml.bind</groupId>
+            <artifactId>jaxb-osgi</artifactId>
+            <version>2.3.3</version>
+            <scope>runtime</scope>
+        </dependency>
+        <dependency>
+            <groupId>jakarta.xml.bind</groupId>
+            <artifactId>jakarta.xml.bind-api</artifactId>
+            <version>${jaxb.version}</version>
+            <scope>runtime</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>jakarta.activation</groupId>
+                    <artifactId>jakarta.activation-api</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>jakarta.annotation</groupId>
+                    <artifactId>jakarta.annotation-api</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>jakarta.xml.soap</groupId>
+            <artifactId>jakarta.xml.soap-api</artifactId>
+            <version>1.4.2</version>
+            <scope>runtime</scope>
+        </dependency>
+        <dependency>
+            <groupId>jakarta.xml.ws</groupId>
+            <artifactId>jakarta.xml.ws-api</artifactId>
+            <version>2.3.3</version>
+            <scope>runtime</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.osgi</groupId>
+            <artifactId>org.osgi.service.jaxrs</artifactId>
+            <version>1.0.0</version>
+            <scope>runtime</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.aries.jax.rs</groupId>
+            <artifactId>org.apache.aries.jax.rs.whiteboard</artifactId>
+            <version>${aries.jaxrs.version}</version>
+            <scope>runtime</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.aries.spifly</groupId>
+            <artifactId>org.apache.aries.spifly.dynamic.framework.extension</artifactId>
+            <version>1.3.0</version>
+            <scope>runtime</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.geronimo.specs</groupId>
+            <artifactId>geronimo-annotation_1.3_spec</artifactId>
+            <version>1.1</version>
+            <scope>runtime</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.geronimo.specs</groupId>
+            <artifactId>geronimo-jaxrs_2.1_spec</artifactId>
+            <version>1.1</version>
+            <scope>runtime</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.osgi</groupId>
+            <artifactId>org.osgi.service.jaxrs</artifactId>
+            <version>1.0.0</version>
+            <scope>runtime</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-nop</artifactId>
+            <version>1.7.2</version>
+            <scope>runtime</scope>
+        </dependency>
+
+    </dependencies>
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>atomos-maven-plugin</artifactId>
+                <version>${atomos.version}</version>
+                <configuration>
+                    <nativeImage>
+                        <debug>true</debug>
+                        <additionalInitializeAtBuildTime>
+                            <additionalInitializeAtBuildTime>org.apache.felix.atomos.runtime</additionalInitializeAtBuildTime>
+                            <additionalInitializeAtBuildTime>org.apache.felix.atomos.impl</additionalInitializeAtBuildTime>
+                            <additionalInitializeAtBuildTime>javax.servlet</additionalInitializeAtBuildTime>
+                            <additionalInitializeAtBuildTime>org.apache.felix.service.command.Converter</additionalInitializeAtBuildTime>
+                            <additionalInitializeAtBuildTime>org.eclipse.jetty.util.TypeUtil</additionalInitializeAtBuildTime>
+                            <additionalInitializeAtBuildTime>org.eclipse.jetty.http.HttpTokens</additionalInitializeAtBuildTime>
+                            <additionalInitializeAtBuildTime>org.eclipse.jetty.util.log.Log</additionalInitializeAtBuildTime>
+                            <additionalInitializeAtBuildTime>org.eclipse.jetty.util.log.StdErrLog</additionalInitializeAtBuildTime>
+                            <additionalInitializeAtBuildTime>org.eclipse.jetty.util.Uptime</additionalInitializeAtBuildTime>
+                            <additionalInitializeAtBuildTime>org.eclipse.jetty.server.HttpOutput</additionalInitializeAtBuildTime>
+                            <additionalInitializeAtBuildTime>org.slf4j</additionalInitializeAtBuildTime>
+                            <additionalInitializeAtBuildTime>org.slf4j.impl</additionalInitializeAtBuildTime>
+                            <additionalInitializeAtBuildTime>org.apache.cxf.bus.managers.DestinationFactoryManagerImpl</additionalInitializeAtBuildTime>
+                            <additionalInitializeAtBuildTime>org.apache.cxf.bus.managers.ConduitInitiatorManagerImpl</additionalInitializeAtBuildTime>
+                            <additionalInitializeAtBuildTime>org.apache.cxf.bus.managers.BindingFactoryManagerImpl</additionalInitializeAtBuildTime>
+                            <!-- <additionalInitializeAtBuildTime>org.apache.felix.atomos.impl.runtime.base</additionalInitializeAtBuildTime> -->
+                        </additionalInitializeAtBuildTime>
+                        <resourceConfigurationFiles>
+                            <resourceConfigurationFile>additionalResourceConfig.json</resourceConfigurationFile>
+                            <resourceConfigurationFile>resourceAgentConfig.json</resourceConfigurationFile>
+                        </resourceConfigurationFiles>
+                        <dynamicProxyConfigurationFiles>
+                            <dynamicProxyConfigurationFile>proxy_config.json</dynamicProxyConfigurationFile>
+                        </dynamicProxyConfigurationFiles>
+
+                        <reflectionConfigurationFiles>
+                            <reflectionConfigurationFile>reflectConfig_felix_atomos.json</reflectionConfigurationFile>
+                            <reflectionConfigurationFile>reflectConfig_felix_gogo.json</reflectionConfigurationFile>
+                            <reflectionConfigurationFile>reflectConfig_felix_web.json</reflectionConfigurationFile>
+                            <reflectionConfigurationFile>reflectConfig_jdk.json</reflectionConfigurationFile>
+                            <reflectionConfigurationFile>reflectConfig_jetty.json</reflectionConfigurationFile>
+                            <reflectionConfigurationFile>reflectAgentConfig.json</reflectionConfigurationFile>
+                        </reflectionConfigurationFiles>
+                        <!-- <mainClass>org.apache.felix.atomos.launch.AtomosLauncher</mainClass> -->
+                    </nativeImage>
+                </configuration>
+                <executions>
+                    <execution>
+                        <id>native-jaxrs-build</id>
+                        <goals>
+                            <goal>atomos-native-image</goal>
+                        </goals>
+                        <phase>package</phase>
+                    </execution>
+                    <execution>
+                        <id>index-jaxrs-build</id>
+                        <goals>
+                            <goal>atomos-index</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-shade-plugin</artifactId>
+                <version>3.2.4</version>
+                <executions>
+                    <execution>
+                        <phase>package</phase>
+                        <goals>
+                            <goal>shade</goal>
+                        </goals>
+                        <configuration>
+                            <transformers>
+                                <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
+                                    <mainClass>org.apache.felix.atomos.launch.AtomosLauncher</mainClass>
+                                </transformer>
+                            </transformers>
+                            <filters>
+                                <filter>
+                                    <artifact>*:*</artifact>
+                                    <excludes>
+                                        <exclude>META-INF/*.SF</exclude>
+                                        <exclude>META-INF/*.DSA</exclude>
+                                        <exclude>META-INF/*.RSA</exclude>
+                                    </excludes>
+                                </filter>
+                            </filters>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+
+</project>
diff --git a/atomos.examples/atomos.examples.jaxrs/proxy_config.json b/atomos.examples/atomos.examples.jaxrs/proxy_config.json
new file mode 100644
index 0000000..f5c672c
--- /dev/null
+++ b/atomos.examples/atomos.examples.jaxrs/proxy_config.json
@@ -0,0 +1,3 @@
+[
+  ["org.apache.felix.service.command.Converter"]
+]
diff --git a/atomos.examples/atomos.examples.jaxrs/reflectAgentConfig.json b/atomos.examples/atomos.examples.jaxrs/reflectAgentConfig.json
new file mode 100644
index 0000000..b35ac69
--- /dev/null
+++ b/atomos.examples/atomos.examples.jaxrs/reflectAgentConfig.json
@@ -0,0 +1,686 @@
+[
+{
+  "name":"apple.security.AppleProvider",
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
+{
+  "name":"com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl",
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
+{
+  "name":"java.io.PrintWriter"
+},
+{
+  "name":"java.lang.Boolean",
+  "methods":[{"name":"valueOf","parameterTypes":["java.lang.String"] }]
+},
+{
+  "name":"java.lang.Byte",
+  "methods":[{"name":"valueOf","parameterTypes":["java.lang.String"] }]
+},
+{
+  "name":"java.lang.ClassLoader",
+  "methods":[{"name":"getPlatformClassLoader","parameterTypes":[] }]
+},
+{
+  "name":"java.lang.Double",
+  "methods":[{"name":"valueOf","parameterTypes":["java.lang.String"] }]
+},
+{
+  "name":"java.lang.Float",
+  "methods":[{"name":"valueOf","parameterTypes":["java.lang.String"] }]
+},
+{
+  "name":"java.lang.Integer",
+  "methods":[{"name":"valueOf","parameterTypes":["java.lang.String"] }]
+},
+{
+  "name":"java.lang.Long",
+  "methods":[{"name":"valueOf","parameterTypes":["java.lang.String"] }]
+},
+{
+  "name":"java.lang.Module",
+  "methods":[{"name":"getDescriptor","parameterTypes":[] }]
+},
+{
+  "name":"java.lang.ModuleLayer",
+  "methods":[
+    {"name":"boot","parameterTypes":[] }, 
+    {"name":"modules","parameterTypes":[] }
+  ]
+},
+{
+  "name":"java.lang.Object",
+  "allDeclaredFields":true,
+  "allDeclaredMethods":true
+},
+{
+  "name":"java.lang.Object[]"
+},
+{
+  "name":"java.lang.Short",
+  "methods":[{"name":"valueOf","parameterTypes":["java.lang.String"] }]
+},
+{
+  "name":"java.lang.String"
+},
+{
+  "name":"java.lang.String[]"
+},
+{
+  "name":"java.lang.System",
+  "allPublicMethods":true
+},
+{
+  "name":"java.lang.Thread",
+  "methods":[
+    {"name":"getId","parameterTypes":[] }, 
+    {"name":"getStackTrace","parameterTypes":[] }
+  ]
+},
+{
+  "name":"java.lang.management.ManagementFactory",
+  "methods":[{"name":"getRuntimeMXBean","parameterTypes":[] }]
+},
+{
+  "name":"java.lang.management.RuntimeMXBean",
+  "methods":[{"name":"getUptime","parameterTypes":[] }]
+},
+{
+  "name":"java.lang.module.Configuration",
+  "methods":[{"name":"findModule","parameterTypes":["java.lang.String"] }]
+},
+{
+  "name":"java.lang.module.ModuleDescriptor",
+  "methods":[
+    {"name":"exports","parameterTypes":[] }, 
+    {"name":"isAutomatic","parameterTypes":[] }, 
+    {"name":"packages","parameterTypes":[] }
+  ]
+},
+{
+  "name":"java.lang.module.ModuleDescriptor$Exports",
+  "methods":[
+    {"name":"isQualified","parameterTypes":[] }, 
+    {"name":"source","parameterTypes":[] }
+  ]
+},
+{
+  "name":"java.lang.module.ModuleReference",
+  "methods":[{"name":"location","parameterTypes":[] }]
+},
+{
+  "name":"java.lang.module.ResolvedModule"
+},
+{
+  "name":"java.net.SetAccessible/0x0000000840096c40",
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
+{
+  "name":"java.net.URI",
+  "allPublicMethods":true,
+  "methods":[{"name":"<init>","parameterTypes":["java.lang.String"] }]
+},
+{
+  "name":"java.security.MessageDigestSpi"
+},
+{
+  "name":"java.security.SecureRandomParameters"
+},
+{
+  "name":"java.util.ArrayList",
+  "methods":[{"name":"clone","parameterTypes":[] }]
+},
+{
+  "name":"javax.security.auth.login.Configuration"
+},
+{
+  "name":"javax.servlet.Servlet"
+},
+{
+  "name":"javax.servlet.ServletRequest",
+  "methods":[{"name":"isAsyncSupported","parameterTypes":[] }]
+},
+{
+  "name":"javax.servlet.WriteListener"
+},
+{
+  "name":"javax.ws.rs.core.Application",
+  "allDeclaredFields":true,
+  "allPublicMethods":true
+},
+{
+  "name":"javax.ws.rs.ext.ExceptionMapper",
+  "allPublicMethods":true
+},
+{
+  "name":"javax.ws.rs.ext.MessageBodyReader",
+  "allPublicMethods":true
+},
+{
+  "name":"javax.ws.rs.ext.MessageBodyWriter",
+  "allPublicMethods":true
+},
+{
+  "name":"jdk.internal.loader.ClassLoaders$AppClassLoader",
+  "methods":[{"name":"appendToClassPathForInstrumentation","parameterTypes":["java.lang.String"] }]
+},
+{
+  "name":"org.apache.aries.jax.rs.whiteboard.activator.CxfJaxrsBundleActivator",
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
+{
+  "name":"org.apache.aries.jax.rs.whiteboard.internal.DefaultApplication",
+  "allDeclaredFields":true,
+  "allPublicMethods":true
+},
+{
+  "name":"org.apache.aries.jax.rs.whiteboard.internal.cxf.CxfJaxrsServiceRegistrator$1",
+  "allDeclaredFields":true,
+  "allPublicMethods":true
+},
+{
+  "name":"org.apache.aries.spifly.dynamic.DynamicWeavingActivator",
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
+{
+  "name":"org.apache.cxf.binding.AbstractBindingFactory",
+  "fields":[{"name":"bus"}]
+},
+{
+  "name":"org.apache.cxf.bus.managers.CXFBusLifeCycleManager",
+  "fields":[{"name":"bus"}],
+  "methods":[{"name":"<init>","parameterTypes":["org.apache.cxf.Bus"] }]
+},
+{
+  "name":"org.apache.cxf.bus.managers.ClientLifeCycleManagerImpl"
+},
+{
+  "name":"org.apache.cxf.bus.managers.EndpointResolverRegistryImpl"
+},
+{
+  "name":"org.apache.cxf.bus.managers.HeaderManagerImpl"
+},
+{
+  "name":"org.apache.cxf.bus.managers.PhaseManagerImpl",
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
+{
+  "name":"org.apache.cxf.bus.managers.ServerLifeCycleManagerImpl",
+  "methods":[{"name":"<init>","parameterTypes":["org.apache.cxf.Bus"] }]
+},
+{
+  "name":"org.apache.cxf.bus.managers.ServerRegistryImpl",
+  "fields":[{"name":"bus"}],
+  "methods":[{"name":"<init>","parameterTypes":["org.apache.cxf.Bus"] }]
+},
+{
+  "name":"org.apache.cxf.bus.managers.WorkQueueManagerImpl"
+},
+{
+  "name":"org.apache.cxf.bus.resource.ResourceManagerImpl"
+},
+{
+  "name":"org.apache.cxf.buslifecycle.BusLifeCycleManager"
+},
+{
+  "name":"org.apache.cxf.catalog.OASISCatalogManager"
+},
+{
+  "name":"org.apache.cxf.endpoint.ServerLifeCycleManager"
+},
+{
+  "name":"org.apache.cxf.endpoint.ServerRegistry"
+},
+{
+  "name":"org.apache.cxf.jaxrs.JAXRSBindingFactory",
+  "methods":[{"name":"<init>","parameterTypes":["org.apache.cxf.Bus"] }]
+},
+{
+  "name":"org.apache.cxf.jaxrs.client.spec.ClientBuilderImpl"
+},
+{
+  "name":"org.apache.cxf.jaxrs.ext.ContextProvider",
+  "allPublicMethods":true
+},
+{
+  "name":"org.apache.cxf.jaxrs.impl.RuntimeDelegateImpl"
+},
+{
+  "name":"org.apache.cxf.jaxrs.impl.WebApplicationExceptionMapper",
+  "allDeclaredFields":true,
+  "allPublicMethods":true
+},
+{
+  "name":"org.apache.cxf.jaxrs.nio.NioMessageBodyWriter",
+  "allDeclaredFields":true,
+  "allPublicMethods":true
+},
+{
+  "name":"org.apache.cxf.jaxrs.provider.AbstractConfigurableProvider",
+  "allDeclaredFields":true,
+  "allPublicMethods":true
+},
+{
+  "name":"org.apache.cxf.jaxrs.provider.AbstractJAXBProvider",
+  "allDeclaredFields":true,
+  "allPublicMethods":true
+},
+{
+  "name":"org.apache.cxf.jaxrs.provider.BinaryDataProvider",
+  "allDeclaredFields":true,
+  "allPublicMethods":true
+},
+{
+  "name":"org.apache.cxf.jaxrs.provider.DataSourceProvider",
+  "allDeclaredFields":true,
+  "allPublicMethods":true
+},
+{
+  "name":"org.apache.cxf.jaxrs.provider.FormEncodingProvider",
+  "allDeclaredFields":true,
+  "allPublicMethods":true
+},
+{
+  "name":"org.apache.cxf.jaxrs.provider.JAXBElementProvider",
+  "allDeclaredFields":true,
+  "allPublicMethods":true
+},
+{
+  "name":"org.apache.cxf.jaxrs.provider.JAXBElementTypedProvider",
+  "allDeclaredFields":true,
+  "allPublicMethods":true
+},
+{
+  "name":"org.apache.cxf.jaxrs.provider.MultipartProvider",
+  "allDeclaredFields":true,
+  "allPublicMethods":true
+},
+{
+  "name":"org.apache.cxf.jaxrs.provider.PrimitiveTextProvider",
+  "allDeclaredFields":true,
+  "allPublicMethods":true
+},
+{
+  "name":"org.apache.cxf.jaxrs.provider.SourceProvider",
+  "allDeclaredFields":true,
+  "allPublicMethods":true
+},
+{
+  "name":"org.apache.cxf.jaxrs.provider.StringTextProvider",
+  "allDeclaredFields":true,
+  "allPublicMethods":true
+},
+{
+  "name":"org.apache.cxf.jaxrs.sse.SseContextProvider",
+  "allDeclaredFields":true,
+  "allPublicMethods":true
+},
+{
+  "name":"org.apache.cxf.jaxrs.sse.SseEventSinkContextProvider",
+  "allDeclaredFields":true,
+  "allPublicMethods":true
+},
+{
+  "name":"org.apache.cxf.jaxrs.sse.client.SseEventSourceBuilderImpl"
+},
+{
+  "name":"org.apache.cxf.phase.PhaseManager"
+},
+{
+  "name":"org.apache.cxf.service.factory.FactoryBeanListenerManager",
+  "fields":[{"name":"bus"}],
+  "methods":[{"name":"<init>","parameterTypes":["org.apache.cxf.Bus"] }]
+},
+{
+  "name":"org.apache.cxf.transport.http.HTTPTransportFactory",
+  "fields":[{"name":"DEFAULT_NAMESPACES"}],
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
+{
+  "name":"org.apache.cxf.transport.sse.SseProvidersExtension",
+  "allDeclaredFields":true,
+  "allDeclaredMethods":true,
+  "allPublicMethods":true,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
+{
+  "name":"org.apache.felix.atomos.examples.jaxrs.bundle.HelloResource",
+  "allDeclaredFields":true,
+  "allDeclaredMethods":true,
+  "allPublicMethods":true,
+  "allPublicConstructors":true
+},
+{
+  "name":"org.apache.felix.atomos.examples.jaxrs.bundle.HelloService",
+  "allDeclaredFields":true,
+  "allDeclaredMethods":true,
+  "allPublicMethods":true,
+  "allPublicConstructors":true
+},
+{
+  "name":"org.apache.felix.atomos.impl.runtime.base.AtomosCommands"
+},
+{
+  "name":"org.apache.felix.atomos.impl.runtime.modules.AtomosRuntimeModules",
+  "methods":[{"name":"<init>","parameterTypes":["java.util.Map"] }]
+},
+{
+  "name":"org.apache.felix.atomos.runtime.AtomosRuntime"
+},
+{
+  "name":"org.apache.felix.gogo.command.Activator",
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
+{
+  "name":"org.apache.felix.gogo.command.Basic"
+},
+{
+  "name":"org.apache.felix.gogo.command.Files"
+},
+{
+  "name":"org.apache.felix.gogo.command.Inspect"
+},
+{
+  "name":"org.apache.felix.gogo.runtime.CommandProcessorImpl",
+  "allPublicMethods":true
+},
+{
+  "name":"org.apache.felix.gogo.runtime.activator.Activator",
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
+{
+  "name":"org.apache.felix.gogo.shell.Activator",
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
+{
+  "name":"org.apache.felix.gogo.shell.Builtin"
+},
+{
+  "name":"org.apache.felix.gogo.shell.Posix",
+  "allPublicMethods":true
+},
+{
+  "name":"org.apache.felix.gogo.shell.Procedural",
+  "allPublicMethods":true
+},
+{
+  "name":"org.apache.felix.gogo.shell.Shell",
+  "allPublicMethods":true
+},
+{
+  "name":"org.apache.felix.gogo.shell.Telnet"
+},
+{
+  "name":"org.apache.felix.http.base.internal.console.HttpServicePlugin",
+  "methods":[{"name":"printConfiguration","parameterTypes":["java.io.PrintWriter"] }]
+},
+{
+  "name":"org.apache.felix.http.jetty.internal.JettyActivator",
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
+{
+  "name":"org.apache.felix.http.whiteboard.internal.WhiteboardActivator",
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
+{
+  "name":"org.apache.felix.inventory.InventoryPrinter"
+},
+{
+  "name":"org.apache.felix.inventory.impl.Activator",
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
+{
+  "name":"org.apache.felix.scr.impl.Activator",
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
+{
+  "name":"org.apache.felix.scr.impl.ComponentCommands"
+},
+{
+  "name":"org.apache.felix.service.command.CommandProcessor"
+},
+{
+  "name":"org.apache.felix.service.command.CommandSession",
+  "allDeclaredMethods":true
+},
+{
+  "name":"org.apache.felix.service.command.Converter"
+},
+{
+  "name":"org.apache.felix.service.command.Function[]"
+},
+{
+  "name":"org.apache.felix.service.threadio.ThreadIO"
+},
+{
+  "name":"org.apache.felix.webconsole.ConfigurationPrinter"
+},
+{
+  "name":"org.apache.felix.webconsole.bundleinfo.BundleInfoProvider"
+},
+{
+  "name":"org.apache.felix.webconsole.internal.OsgiManagerActivator",
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
+{
+  "name":"org.apache.felix.webconsole.internal.compendium.LogServlet",
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
+{
+  "name":"org.apache.felix.webconsole.internal.compendium.WireAdminConfigurationPrinter",
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
+{
+  "name":"org.apache.felix.webconsole.internal.configuration.ConfigManager",
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
+{
+  "name":"org.apache.felix.webconsole.internal.configuration.ConfigurationAdminConfigurationPrinter",
+  "methods":[
+    {"name":"<init>","parameterTypes":[] }, 
+    {"name":"getTitle","parameterTypes":[] }, 
+    {"name":"printConfiguration","parameterTypes":["java.io.PrintWriter"] }
+  ]
+},
+{
+  "name":"org.apache.felix.webconsole.internal.core.BundlesConfigurationPrinter",
+  "methods":[
+    {"name":"<init>","parameterTypes":[] }, 
+    {"name":"getTitle","parameterTypes":[] }, 
+    {"name":"printConfiguration","parameterTypes":["java.io.PrintWriter"] }
+  ]
+},
+{
+  "name":"org.apache.felix.webconsole.internal.core.BundlesServlet",
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
+{
+  "name":"org.apache.felix.webconsole.internal.core.PermissionsConfigurationPrinter",
+  "methods":[
+    {"name":"<init>","parameterTypes":[] }, 
+    {"name":"getTitle","parameterTypes":[] }, 
+    {"name":"printConfiguration","parameterTypes":["java.io.PrintWriter"] }
+  ]
+},
+{
+  "name":"org.apache.felix.webconsole.internal.core.ServicesConfigurationPrinter",
+  "methods":[
+    {"name":"<init>","parameterTypes":[] }, 
+    {"name":"getTitle","parameterTypes":[] }, 
+    {"name":"printConfiguration","parameterTypes":["java.io.PrintWriter"] }
+  ]
+},
+{
+  "name":"org.apache.felix.webconsole.internal.core.ServicesServlet",
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
+{
+  "name":"org.apache.felix.webconsole.internal.misc.LicenseServlet",
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
+{
+  "name":"org.apache.felix.webconsole.internal.misc.SystemPropertiesPrinter",
+  "methods":[
+    {"name":"<init>","parameterTypes":[] }, 
+    {"name":"getTitle","parameterTypes":[] }, 
+    {"name":"printConfiguration","parameterTypes":["java.io.PrintWriter"] }
+  ]
+},
+{
+  "name":"org.apache.felix.webconsole.internal.misc.ThreadPrinter",
+  "methods":[
+    {"name":"<init>","parameterTypes":[] }, 
+    {"name":"getTitle","parameterTypes":[] }, 
+    {"name":"printConfiguration","parameterTypes":["java.io.PrintWriter","java.lang.String"] }
+  ]
+},
+{
+  "name":"org.apache.felix.webconsole.internal.system.VMStatPlugin",
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
+{
+  "name":"org.eclipse.equinox.log.ExtendedLogService"
+},
+{
+  "name":"org.eclipse.jetty.server.Handler[]"
+},
+{
+  "name":"org.eclipse.jetty.server.handler.ContextHandlerCollection$Branch[]"
+},
+{
+  "name":"org.eclipse.jetty.servlet.ServletMapping[]"
+},
+{
+  "name":"org.eclipse.jetty.util.log.Slf4jLog",
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
+{
+  "name":"org.eclipse.osgi.framework.log.FrameworkLog"
+},
+{
+  "name":"org.eclipse.osgi.internal.cds.CDSHookConfigurator",
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
+{
+  "name":"org.eclipse.osgi.internal.connect.ConnectHookConfigurator",
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
+{
+  "name":"org.eclipse.osgi.internal.framework.BundleContextImpl",
+  "allPublicMethods":true
+},
+{
+  "name":"org.eclipse.osgi.internal.framework.EquinoxBundle$SystemBundle",
+  "allPublicMethods":true
+},
+{
+  "name":"org.eclipse.osgi.internal.framework.SystemBundleActivator",
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
+{
+  "name":"org.eclipse.osgi.internal.signedcontent.SignedBundleHook",
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
+{
+  "name":"org.eclipse.osgi.service.datalocation.Location"
+},
+{
+  "name":"org.eclipse.osgi.service.debug.DebugOptions"
+},
+{
+  "name":"org.eclipse.osgi.service.debug.DebugOptionsListener"
+},
+{
+  "name":"org.eclipse.osgi.service.environment.EnvironmentInfo"
+},
+{
+  "name":"org.eclipse.osgi.service.localization.BundleLocalization"
+},
+{
+  "name":"org.eclipse.osgi.service.security.TrustEngine"
+},
+{
+  "name":"org.eclipse.osgi.service.urlconversion.URLConverter"
+},
+{
+  "name":"org.eclipse.osgi.signedcontent.SignedContentFactory"
+},
+{
+  "name":"org.osgi.framework.hooks.bundle.CollisionHook"
+},
+{
+  "name":"org.osgi.framework.hooks.resolver.ResolverHookFactory"
+},
+{
+  "name":"org.osgi.framework.hooks.weaving.WeavingHook"
+},
+{
+  "name":"org.osgi.service.cm.ConfigurationListener"
+},
+{
+  "name":"org.osgi.service.component.runtime.ServiceComponentRuntime"
+},
+{
+  "name":"org.osgi.service.condition.Condition"
+},
+{
+  "name":"org.osgi.service.condpermadmin.ConditionalPermissionAdmin"
+},
+{
+  "name":"org.osgi.service.http.HttpService"
+},
+{
+  "name":"org.osgi.service.http.context.ServletContextHelper"
+},
+{
+  "name":"org.osgi.service.http.runtime.HttpServiceRuntime"
+},
+{
+  "name":"org.osgi.service.jaxrs.client.SseEventSourceFactory"
+},
+{
+  "name":"org.osgi.service.jaxrs.runtime.JaxrsServiceRuntime"
+},
+{
+  "name":"org.osgi.service.log.LogService"
+},
+{
+  "name":"org.osgi.service.log.LoggerFactory"
+},
+{
+  "name":"org.osgi.service.log.admin.LoggerAdmin"
+},
+{
+  "name":"org.osgi.service.packageadmin.PackageAdmin"
+},
+{
+  "name":"org.osgi.service.permissionadmin.PermissionAdmin"
+},
+{
+  "name":"org.osgi.service.resolver.Resolver"
+},
+{
+  "name":"org.osgi.service.startlevel.StartLevel"
+},
+{
+  "name":"org.slf4j.LoggerFactory",
+  "methods":[{"name":"getILoggerFactory","parameterTypes":[] }]
+},
+{
+  "name":"org.slf4j.impl.StaticLoggerBinder"
+},
+{
+  "name":"sun.misc.Unsafe",
+  "fields":[{"name":"theUnsafe"}],
+  "methods":[{"name":"defineAnonymousClass","parameterTypes":["java.lang.Class","byte[]","java.lang.Object[]"] }]
+},
+{
+  "name":"sun.security.provider.NativePRNG",
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
+{
+  "name":"sun.security.provider.SHA",
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+}
+]
diff --git a/atomos.examples/atomos.examples.jaxrs/reflectConfig_felix_atomos.json b/atomos.examples/atomos.examples.jaxrs/reflectConfig_felix_atomos.json
new file mode 100644
index 0000000..9751c7a
--- /dev/null
+++ b/atomos.examples/atomos.examples.jaxrs/reflectConfig_felix_atomos.json
@@ -0,0 +1,9 @@
+[
+   {
+    "name" : "org.apache.felix.atomos.impl.runtime.base.AtomosCommands",
+    "allPublicMethods" : true,
+    "allDeclaredMethods" : true,
+    "allPublicFields" : true,
+    "allDeclaredFields" : true
+   }
+]
diff --git a/atomos.examples/atomos.examples.jaxrs/reflectConfig_felix_gogo.json b/atomos.examples/atomos.examples.jaxrs/reflectConfig_felix_gogo.json
new file mode 100644
index 0000000..8366da8
--- /dev/null
+++ b/atomos.examples/atomos.examples.jaxrs/reflectConfig_felix_gogo.json
@@ -0,0 +1,40 @@
+[
+  {
+     "name":"org.apache.felix.service.command.Converter"
+  },
+    {
+    "name" : "org.apache.felix.gogo.shell.Builtin",
+    "allPublicMethods" : true,
+    "allDeclaredMethods" : true,
+    "allPublicFields" : true,
+    "allDeclaredFields" : true
+  },
+  {
+    "name" : "org.apache.felix.gogo.shell.Shell",
+    "allPublicMethods" : true,
+    "allDeclaredMethods" : true,
+    "allPublicFields" : true,
+    "allDeclaredFields" : true
+  },
+  {
+    "name" : "org.apache.felix.gogo.shell.Procedural",
+    "allPublicMethods" : true,
+    "allDeclaredMethods" : true,
+    "allPublicFields" : true,
+    "allDeclaredFields" : true
+  },
+  {
+    "name" : "org.apache.felix.gogo.shell.Posix",
+    "allPublicMethods" : true,
+    "allDeclaredMethods" : true,
+    "allPublicFields" : true,
+    "allDeclaredFields" : true
+  },
+  {
+    "name" : "org.apache.felix.gogo.shell.Telnet",
+    "allPublicMethods" : true,
+    "allDeclaredMethods" : true,
+    "allPublicFields" : true,
+    "allDeclaredFields" : true
+  }
+]
diff --git a/atomos.examples/atomos.examples.jaxrs/reflectConfig_felix_web.json b/atomos.examples/atomos.examples.jaxrs/reflectConfig_felix_web.json
new file mode 100644
index 0000000..da00a20
--- /dev/null
+++ b/atomos.examples/atomos.examples.jaxrs/reflectConfig_felix_web.json
@@ -0,0 +1,43 @@
+[
+
+  {
+    "name" : "org.apache.felix.webconsole.internal.core.ServicesServlet",
+    "allPublicConstructors" : true,
+    "allPublicMethods" : true
+  },
+  {
+    "name" : "org.apache.felix.webconsole.internal.system.VMStatPlugin",
+    "allPublicConstructors" : true,
+    "allPublicMethods" : true
+  },
+  {
+    "name" : "org.apache.felix.webconsole.internal.configuration.ConfigManager",
+    "allPublicConstructors" : true,
+    "allPublicMethods" : true
+  },
+  {
+    "name" : "org.apache.felix.webconsole.internal.core.BundlesServlet",
+    "allPublicConstructors" : true,
+    "allPublicMethods" : true
+  },
+  {
+    "name" : "org.apache.felix.webconsole.internal.misc.LicenseServlet",
+    "allPublicConstructors" : true,
+    "allPublicMethods" : true
+  },
+  {
+    "name" : "org.apache.felix.webconsole.internal.compendium.LogServlet",
+    "allPublicConstructors" : true,
+    "allPublicMethods" : true
+  },
+  {
+    "name" : "org.apache.cxf.jaxrs.sse.client.SseEventSourceBuilderImpl",
+    "allPublicConstructors" : true,
+    "allPublicMethods" : true
+  },
+  {
+    "name" : "org.apache.cxf.bus.managers.DestinationFactoryManagerImpl",
+    "allPublicConstructors" : true,
+    "allPublicMethods" : true
+  }
+]
diff --git a/atomos.examples/atomos.examples.jaxrs/reflectConfig_jdk.json b/atomos.examples/atomos.examples.jaxrs/reflectConfig_jdk.json
new file mode 100644
index 0000000..281fba6
--- /dev/null
+++ b/atomos.examples/atomos.examples.jaxrs/reflectConfig_jdk.json
@@ -0,0 +1,7 @@
+[
+   {
+    "name" : "java.io.File",
+    "allPublicConstructors" : true,
+    "allPublicMethods" : true
+  }
+]
diff --git a/atomos.examples/atomos.examples.jaxrs/reflectConfig_jetty.json b/atomos.examples/atomos.examples.jaxrs/reflectConfig_jetty.json
new file mode 100644
index 0000000..8f4b6a3
--- /dev/null
+++ b/atomos.examples/atomos.examples.jaxrs/reflectConfig_jetty.json
@@ -0,0 +1,13 @@
+[
+  {
+    "name" : "org.eclipse.jetty.servlet.ServletMapping[]",
+    "allPublicConstructors" : true,
+    "allPublicMethods" : true
+  },
+  {
+    "name" : "org.eclipse.jetty.servlet.FilterMapping[]",
+    "allPublicConstructors" : true,
+    "allPublicMethods" : true
+  }
+  
+]
diff --git a/atomos.examples/atomos.examples.jaxrs/resourceAgentConfig.json b/atomos.examples/atomos.examples.jaxrs/resourceAgentConfig.json
new file mode 100644
index 0000000..4f2bcce
--- /dev/null
+++ b/atomos.examples/atomos.examples.jaxrs/resourceAgentConfig.json
@@ -0,0 +1,99 @@
+{
+  "resources":[
+    {"pattern":"\\QMETA-INF/MANIFEST.MF\\E"}, 
+    {"pattern":"\\QMETA-INF/cxf/bus-extensions.txt\\E"}, 
+    {"pattern":"\\QMETA-INF/services/javax.ws.rs.sse.SseEventSource.Builder\\E"}, 
+    {"pattern":"\\QMETA-INF/services/org.osgi.framework.connect.ConnectFrameworkFactory\\E"}, 
+    {"pattern":"\\QMETA-INF/services/org.osgi.framework.connect.FrameworkUtilHelper\\E"}, 
+    {"pattern":"\\QMETA-INF/services/org.osgi.framework.launch.FrameworkFactory\\E"}, 
+    {"pattern":"\\QMETA-INF/versions/9/\\E"}, 
+    {"pattern":"\\QOSGI-INF/l10n/bundle.properties\\E"}, 
+    {"pattern":"\\QOSGI-INF/org.apache.felix.atomos.examples.jaxrs.bundle.ExampleComponent.xml\\E"}, 
+    {"pattern":"\\Qatomos/0/META-INF/MANIFEST.MF\\E"}, 
+    {"pattern":"\\Qatomos/1/META-INF/MANIFEST.MF\\E"}, 
+    {"pattern":"\\Qatomos/10/META-INF/MANIFEST.MF\\E"}, 
+    {"pattern":"\\Qatomos/11/META-INF/MANIFEST.MF\\E"}, 
+    {"pattern":"\\Qatomos/11/META-INF/services/javax.ws.rs.client.ClientBuilder\\E"}, 
+    {"pattern":"\\Qatomos/11/META-INF/services/javax.ws.rs.ext.RuntimeDelegate\\E"}, 
+    {"pattern":"\\Qatomos/11/META-INF/services/javax.ws.rs.sse.SseEventSource$Builder\\E"}, 
+    {"pattern":"\\Qatomos/11/META-INF/services/org.apache.cxf.bus.factory\\E"}, 
+    {"pattern":"\\Qatomos/11/META-INF/services/org.apache.cxf.jaxrs.ext.JAXRSServerFactoryCustomizationExtension\\E"}, 
+    {"pattern":"\\Qatomos/12/META-INF/MANIFEST.MF\\E"}, 
+    {"pattern":"\\Qatomos/12/systembundle.properties\\E"}, 
+    {"pattern":"\\Qatomos/13/META-INF/MANIFEST.MF\\E"}, 
+    {"pattern":"\\Qatomos/14/META-INF/MANIFEST.MF\\E"}, 
+    {"pattern":"\\Qatomos/15/META-INF/MANIFEST.MF\\E"}, 
+    {"pattern":"\\Qatomos/16/META-INF/MANIFEST.MF\\E"}, 
+    {"pattern":"\\Qatomos/17/META-INF/MANIFEST.MF\\E"}, 
+    {"pattern":"\\Qatomos/18/META-INF/MANIFEST.MF\\E"}, 
+    {"pattern":"\\Qatomos/2/META-INF/MANIFEST.MF\\E"}, 
+    {"pattern":"\\Qatomos/20/META-INF/MANIFEST.MF\\E"}, 
+    {"pattern":"\\Qatomos/21/META-INF/MANIFEST.MF\\E"}, 
+    {"pattern":"\\Qatomos/22/META-INF/MANIFEST.MF\\E"}, 
+    {"pattern":"\\Qatomos/23/META-INF/MANIFEST.MF\\E"}, 
+    {"pattern":"\\Qatomos/24/META-INF/MANIFEST.MF\\E"}, 
+    {"pattern":"\\Qatomos/25/META-INF/MANIFEST.MF\\E"}, 
+    {"pattern":"\\Qatomos/26/META-INF/MANIFEST.MF\\E"}, 
+    {"pattern":"\\Qatomos/27/META-INF/MANIFEST.MF\\E"}, 
+    {"pattern":"\\Qatomos/28/META-INF/MANIFEST.MF\\E"}, 
+    {"pattern":"\\Qatomos/29/META-INF/MANIFEST.MF\\E"}, 
+    {"pattern":"\\Qatomos/3/META-INF/MANIFEST.MF\\E"}, 
+    {"pattern":"\\Qatomos/30/META-INF/MANIFEST.MF\\E"}, 
+    {"pattern":"\\Qatomos/31/META-INF/MANIFEST.MF\\E"}, 
+    {"pattern":"\\Qatomos/32/META-INF/MANIFEST.MF\\E"}, 
+    {"pattern":"\\Qatomos/33/META-INF/MANIFEST.MF\\E"}, 
+    {"pattern":"\\Qatomos/34/META-INF/MANIFEST.MF\\E"}, 
+    {"pattern":"\\Qatomos/5/META-INF/MANIFEST.MF\\E"}, 
+    {"pattern":"\\Qatomos/6/META-INF/MANIFEST.MF\\E"}, 
+    {"pattern":"\\Qatomos/7/META-INF/MANIFEST.MF\\E"}, 
+    {"pattern":"\\Qatomos/8/META-INF/MANIFEST.MF\\E"}, 
+    {"pattern":"\\Qatomos/9/META-INF/MANIFEST.MF\\E"}, 
+    {"pattern":"\\Qatomos/bundles.index\\E"}, 
+    {"pattern":"\\Qgosh_profile\\E"}, 
+    {"pattern":"\\Qlib/stax2-api.jar\\E"}, 
+    {"pattern":"\\Qlib/woodstox-core.jar\\E"}, 
+    {"pattern":"\\Qlib/xmlschema-core.jar\\E"}, 
+    {"pattern":"\\Qorg/apache/cxf/version/version.properties\\E"}, 
+    {"pattern":"\\Qorg/eclipse/jetty/http/encoding.properties\\E"}, 
+    {"pattern":"\\Qorg/eclipse/jetty/http/mime.properties\\E"}, 
+    {"pattern":"\\Qorg/eclipse/jetty/version/build.properties\\E"}, 
+    {"pattern":"\\Qorg/eclipse/osgi/internal/framework/osname.aliases\\E"}, 
+    {"pattern":"\\Qorg/eclipse/osgi/internal/framework/processor.aliases\\E"}, 
+    {"pattern":"\\Qorg/eclipse/osgi/internal/permadmin/implied.permissions\\E"}, 
+    {"pattern":"\\Qorg/eclipse/osgi/internal/url/SetAccessible.bytes\\E"}, 
+    {"pattern":"\\Qorg/slf4j/impl/StaticLoggerBinder.class\\E"}, 
+    {"pattern":"\\Qtemplates/bundles.html\\E"}, 
+    {"pattern":"\\Qtemplates/config.html\\E"}, 
+    {"pattern":"\\Qtemplates/license.html\\E"}, 
+    {"pattern":"\\Qtemplates/logs.html\\E"}, 
+    {"pattern":"\\Qtemplates/services.html\\E"}, 
+    {"pattern":"\\Qtemplates/vmstat.html\\E"}, 
+    {"pattern":"\\Qtemplates/vmstat_restart.html\\E"}, 
+    {"pattern":"\\Qtemplates/vmstat_stop.html\\E"}
+  ],
+  "bundles":[
+    {"name":"javax.servlet.LocalStrings"}, 
+    {"name":"javax.servlet.http.LocalStrings"}, 
+    {"name":"org.apache.cxf.Messages"}, 
+    {"name":"org.apache.cxf.bus.extension.Messages"}, 
+    {"name":"org.apache.cxf.bus.managers.Messages"}, 
+    {"name":"org.apache.cxf.common.annotation.Messages"}, 
+    {"name":"org.apache.cxf.common.injection.Messages"}, 
+    {"name":"org.apache.cxf.common.util.Messages"}, 
+    {"name":"org.apache.cxf.endpoint.Messages"}, 
+    {"name":"org.apache.cxf.interceptor.Messages"}, 
+    {"name":"org.apache.cxf.jaxrs.Messages"}, 
+    {"name":"org.apache.cxf.jaxrs.impl.Messages"}, 
+    {"name":"org.apache.cxf.jaxrs.interceptor.Messages"}, 
+    {"name":"org.apache.cxf.jaxrs.provider.Messages"}, 
+    {"name":"org.apache.cxf.jaxrs.utils.Messages"}, 
+    {"name":"org.apache.cxf.resource.Messages"}, 
+    {"name":"org.apache.cxf.service.factory.Messages"}, 
+    {"name":"org.apache.cxf.service.invoker.Messages"}, 
+    {"name":"org.apache.cxf.service.model.Messages"}, 
+    {"name":"org.apache.cxf.transport.http.Messages"}, 
+    {"name":"org.apache.cxf.transport.https.Messages"}, 
+    {"name":"org.apache.cxf.transport.servlet.Messages"}, 
+    {"name":"org.apache.cxf.ws.addressing.Messages"}
+  ]
+}
diff --git a/atomos.examples/pom.xml b/atomos.examples/pom.xml
index 0d24ac6..03af749 100644
--- a/atomos.examples/pom.xml
+++ b/atomos.examples/pom.xml
@@ -22,6 +22,8 @@
             <modules>
                 <module>atomos.examples.webconsole.bom</module>
                 <module>atomos.examples.index</module>
+                <module>atomos.examples.jaxrs.bundle</module>
+                <module>atomos.examples.jaxrs</module>
                 <module>atomos.examples.jlink</module>
                 <module>atomos.examples.springloader</module>
                 <module>atomos.examples.substrate.equinox</module>