Git Product home page Git Product logo

osgi / osgi.enroute Goto Github PK

View Code? Open in Web Editor NEW
121.0 121.0 85.0 62.01 MB

The OSGi enRoute project provides a programming model of OSGi applications. This project contains bundles providing the API for the OSGi enRoute base profile and bundles for the OSGi enRoute project. The base profile establishes a runtime that contains a minimal set of services that can be used as a base for applications.

Home Page: https://enroute.osgi.org/

License: Apache License 2.0

Java 98.06% Shell 1.94%
java osgi-applications osgi-enroute

osgi.enroute's Introduction

OSGi

OpenSSF Scorecard

This is the main git repository for the OSGi specifications, implementations and TCKs. It is a Bnd Workspace model build.

Build

See CONTRIBUTING for information on checking out the repo and building.

Draft Specifications

The GitHub Actions build "GitHub Pages" job will publish the draft specifications into the repo's gh-pages branch. So you can view the draft specifications for the osgi/osgi repo:

In your fork, just add core/ or cmpn/ to the end of your fork's GitHub Pages URL. For example:

https://<username>.github.io/osgi/core/

More Information

For more information see the OSGi Specification Project pages at Eclipse: https://projects.eclipse.org/projects/technology.osgi

osgi.enroute's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

osgi.enroute's Issues

OSGI EventAdmin 1.4 provider

Maybe I missed something, but the API index provides the event package 1.4 whereas there is no providers for this version in the impl index.

osgi.enroute.scheduler.simple.provider: /rest endpoint configuration shadowed by default servlet

The RestControllerService can be configured, e.g. to enable sending of CORS headers. However, when the configuration is added, then the previously registered REST servlets are not removed from the service registry, hence will stick around in the HttpService and will shadow any new one(s):

image

I can understand why the RestControllerService doesn't remove the REST services here:

// we never clean them up. Seems to much work
// since it is likely that the namespace is reused.
// TODO or should we?

Nevertheless, if I'm not mistaken I think it would be required to remove them at least on deactivation here:

Otherwise the new/updated configuration won't become effective as in the HttpService the first one wins. Also, with every configuration update a new REST service instance will be registered, piling up in the registry.

Did I miss anything? If you could just confirm my assumption, I'd be happy to create a PR of course.

Archetype generates app.bndrun with reference to wrong bundle ID

I used the org.osgi.enroute.archetype:project:7.0.0-SNAPSHOT archetype to generate a parent project. For groupId I entered org.example and for artifactId I used org.example.parent. I accepted the defaults for version, package, app-artifactId and impl-artifactId.

Building the generated project fails because app/app.bndrun has the following line:

-runrequires: osgi.identity;filter:='(osgi.identity=org.example.impl)'

However the artifactId (and therefore the BSN) of the impl project is simply impl, not org.example.impl.

Problem accessing /quickstart/index.html. Reason: Not Found

Java Version 11.0.6
Maven Version 3.6.0

The Error I am getting is when I click the "quickstart":

HTTP ERROR 404
Problem accessing /quickstart/index.html. Reason:

Not Found

I completed the auxiliary instruction:

If you’re using a Java version higher than 8 to run this tutorial then you’ll need to set the appropriate runee in the examples/quickstart/app/app.bndrun and then resolve the application. For Java 9 use JavaSE-9, for Java 10 use JavaSE-10 and for Java 11 use JavaSE-11. Once you have made this edit issue the command mvn bnd-indexer:index bnd-indexer:index@test-index bnd-resolver:resolve to generate the index, test index, and resolve the bndrun (you should be able to see the changes in the runbundles list afterwards). Once you’ve done this the first time then you can mvn verify to your heart’s content.

And get the following:
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.google.inject.internal.cglib.core.$ReflectUtils$1 (file:/usr/share/maven/lib/guice.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain)
WARNING: Please consider reporting this to the maintainers of com.google.inject.internal.cglib.core.$ReflectUtils$1
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Build Order:
[INFO]
[INFO] quickstart [pom]
[INFO] rest [jar]
[INFO] app [jar]
[WARNING] The POM for biz.aQute.bnd:bnd-run-maven-plugin:jar:4.1.0 is missing, no dependency information available
[WARNING] Failed to retrieve plugin descriptor for biz.aQute.bnd:bnd-run-maven-plugin:4.1.0: Plugin biz.aQute.bnd:bnd-run-maven-plugin:4.1.0 or one of its dependencies could not be resolved: Failure to find biz.aQute.bnd:bnd-run-maven-plugin:jar:4.1.0 in https://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced
[WARNING] The POM for biz.aQute.bnd:bnd-run-maven-plugin:jar:4.1.0 is missing, no dependency information available
[WARNING] Failed to retrieve plugin descriptor for biz.aQute.bnd:bnd-run-maven-plugin:4.1.0: Plugin biz.aQute.bnd:bnd-run-maven-plugin:4.1.0 or one of its dependencies could not be resolved: Failure to find biz.aQute.bnd:bnd-run-maven-plugin:jar:4.1.0 in https://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced
[WARNING] The POM for biz.aQute.bnd:bnd-run-maven-plugin:jar:4.1.0 is missing, no dependency information available
[WARNING] Failed to retrieve plugin descriptor for biz.aQute.bnd:bnd-run-maven-plugin:4.1.0: Plugin biz.aQute.bnd:bnd-run-maven-plugin:4.1.0 or one of its dependencies could not be resolved: Failure to find biz.aQute.bnd:bnd-run-maven-plugin:jar:4.1.0 in https://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced
[INFO]
[INFO] ----------< org.osgi.enroute.examples.quickstart:quickstart >-----------
[INFO] Building quickstart 0.0.2-SNAPSHOT [1/3]
[INFO] --------------------------------[ pom ]---------------------------------
[WARNING] The POM for biz.aQute.bnd:bnd-run-maven-plugin:jar:4.1.0 is missing, no dependency information available
[WARNING] Failed to retrieve plugin descriptor for biz.aQute.bnd:bnd-run-maven-plugin:4.1.0: Plugin biz.aQute.bnd:bnd-run-maven-plugin:4.1.0 or one of its dependencies could not be resolved: Failure to find biz.aQute.bnd:bnd-run-maven-plugin:jar:4.1.0 in https://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced
[WARNING] The POM for biz.aQute.bnd:bnd-run-maven-plugin:jar:4.1.0 is missing, no dependency information available
[WARNING] Failed to retrieve plugin descriptor for biz.aQute.bnd:bnd-run-maven-plugin:4.1.0: Plugin biz.aQute.bnd:bnd-run-maven-plugin:4.1.0 or one of its dependencies could not be resolved: Failure to find biz.aQute.bnd:bnd-run-maven-plugin:jar:4.1.0 in https://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced
[WARNING] The POM for biz.aQute.bnd:bnd-run-maven-plugin:jar:4.1.0 is missing, no dependency information available
[WARNING] Failed to retrieve plugin descriptor for biz.aQute.bnd:bnd-run-maven-plugin:4.1.0: Plugin biz.aQute.bnd:bnd-run-maven-plugin:4.1.0 or one of its dependencies could not be resolved: Failure to find biz.aQute.bnd:bnd-run-maven-plugin:jar:4.1.0 in https://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced
[INFO]
[INFO] --- bnd-indexer-maven-plugin:4.1.0:index (default-cli) @ quickstart ---
[INFO] The configured deployment repository OSGi Snapshots has the same id as one of the remote artifact repositories. It is assumed that these repositories are the same.
[INFO]
[INFO] --- bnd-indexer-maven-plugin:4.1.0:index (test-index) @ quickstart ---
[INFO] The configured deployment repository OSGi Snapshots has the same id as one of the remote artifact repositories. It is assumed that these repositories are the same.
[INFO]
[INFO] --- bnd-resolver-maven-plugin:4.1.0:resolve (default-cli) @ quickstart ---
[INFO]
[INFO] -------------< org.osgi.enroute.examples.quickstart:rest >--------------
[INFO] Building rest 0.0.2-SNAPSHOT [2/3]
[INFO] --------------------------------[ jar ]---------------------------------
[WARNING] The POM for biz.aQute.bnd:bnd-run-maven-plugin:jar:4.1.0 is missing, no dependency information available
[WARNING] Failed to retrieve plugin descriptor for biz.aQute.bnd:bnd-run-maven-plugin:4.1.0: Plugin biz.aQute.bnd:bnd-run-maven-plugin:4.1.0 or one of its dependencies could not be resolved: Failure to find biz.aQute.bnd:bnd-run-maven-plugin:jar:4.1.0 in https://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced
[WARNING] The POM for biz.aQute.bnd:bnd-run-maven-plugin:jar:4.1.0 is missing, no dependency information available
[WARNING] Failed to retrieve plugin descriptor for biz.aQute.bnd:bnd-run-maven-plugin:4.1.0: Plugin biz.aQute.bnd:bnd-run-maven-plugin:4.1.0 or one of its dependencies could not be resolved: Failure to find biz.aQute.bnd:bnd-run-maven-plugin:jar:4.1.0 in https://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced
[WARNING] The POM for biz.aQute.bnd:bnd-run-maven-plugin:jar:4.1.0 is missing, no dependency information available
[WARNING] Failed to retrieve plugin descriptor for biz.aQute.bnd:bnd-run-maven-plugin:4.1.0: Plugin biz.aQute.bnd:bnd-run-maven-plugin:4.1.0 or one of its dependencies could not be resolved: Failure to find biz.aQute.bnd:bnd-run-maven-plugin:jar:4.1.0 in https://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced
[INFO]
[INFO] --- bnd-indexer-maven-plugin:4.1.0:index (default-cli) @ rest ---
[INFO] The configured deployment repository OSGi Snapshots has the same id as one of the remote artifact repositories. It is assumed that these repositories are the same.
[INFO]
[INFO] --- bnd-indexer-maven-plugin:4.1.0:index (test-index) @ rest ---
[INFO] The configured deployment repository OSGi Snapshots has the same id as one of the remote artifact repositories. It is assumed that these repositories are the same.
[INFO]
[INFO] --- bnd-resolver-maven-plugin:4.1.0:resolve (default-cli) @ rest ---
[INFO]
[INFO] --------------< org.osgi.enroute.examples.quickstart:app >--------------
[INFO] Building app 0.0.2-SNAPSHOT [3/3]
[INFO] --------------------------------[ jar ]---------------------------------
[WARNING] The POM for biz.aQute.bnd:bnd-run-maven-plugin:jar:4.1.0 is missing, no dependency information available
[WARNING] Failed to retrieve plugin descriptor for biz.aQute.bnd:bnd-run-maven-plugin:4.1.0: Plugin biz.aQute.bnd:bnd-run-maven-plugin:4.1.0 or one of its dependencies could not be resolved: Failure to find biz.aQute.bnd:bnd-run-maven-plugin:jar:4.1.0 in https://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced
[WARNING] The POM for biz.aQute.bnd:bnd-run-maven-plugin:jar:4.1.0 is missing, no dependency information available
[WARNING] Failed to retrieve plugin descriptor for biz.aQute.bnd:bnd-run-maven-plugin:4.1.0: Plugin biz.aQute.bnd:bnd-run-maven-plugin:4.1.0 or one of its dependencies could not be resolved: Failure to find biz.aQute.bnd:bnd-run-maven-plugin:jar:4.1.0 in https://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced
[WARNING] The POM for biz.aQute.bnd:bnd-run-maven-plugin:jar:4.1.0 is missing, no dependency information available
[WARNING] Failed to retrieve plugin descriptor for biz.aQute.bnd:bnd-run-maven-plugin:4.1.0: Plugin biz.aQute.bnd:bnd-run-maven-plugin:4.1.0 or one of its dependencies could not be resolved: Failure to find biz.aQute.bnd:bnd-run-maven-plugin:jar:4.1.0 in https://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced
[INFO]
[INFO] --- bnd-indexer-maven-plugin:4.1.0:index (default-cli) @ app ---
[INFO] The configured deployment repository OSGi Snapshots has the same id as one of the remote artifact repositories. It is assumed that these repositories are the same.
[INFO]
[INFO] --- bnd-indexer-maven-plugin:4.1.0:index (test-index) @ app ---
[INFO] The configured deployment repository OSGi Snapshots has the same id as one of the remote artifact repositories. It is assumed that these repositories are the same.
[INFO]
[INFO] --- bnd-resolver-maven-plugin:4.1.0:resolve (default-cli) @ app ---
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for quickstart 0.0.2-SNAPSHOT:
[INFO]
[INFO] quickstart ......................................... SUCCESS [ 0.454 s]
[INFO] rest ............................................... SUCCESS [ 1.150 s]
[INFO] app ................................................ SUCCESS [ 5.360 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 7.771 s
[INFO] Finished at: 2020-01-30T11:25:57-08:00
[INFO] ------------------------------------------------------------------------

Then $mvn verify
Then $java -jar app/target/app.jar

Clicking the "quickstart" returns the 404 ERROR
Checking localhost:8080 opens the Aries JAX-RS Whiteboard.

project archetype: __{impl,app}-artifactId__

After playing around with the enroute.osgi.org approach the last days I would like to check the documentation from the beginning to provide fixes if necessary.

The project archetype generation works some time and didn't some time (at least the result contains errors).
If I execute the following line:

mvn archetype:generate -DarchetypeGroupId=org.osgi.enroute.archetype -DarchetypeArtifactId=project -DarchetypeVersion=7.0.0

sometimes the modules elements look like:

    <modules>
        <module>impl</module>
        <module>app</module>
    <module>__impl-artifactId__</module>
    <module>__app-artifactId__</module>
  </modules>

Also the directories are not names correctly:

$ ls -l quickstart/
total 12
drwxr-xr-x 1 maggu2810 maggu2810   64 Nov 29 22:39 __app-artifactId__
drwxr-xr-x 1 maggu2810 maggu2810   20 Nov 29 22:39 __impl-artifactId__
-rw-r--r-- 1 maggu2810 maggu2810 9763 Nov 29 22:39 pom.xml

I started in an empty directory.
Full log:

$ mvn archetype:generate -DarchetypeGroupId=org.osgi.enroute.archetype -DarchetypeArtifactId=project -DarchetypeVersion=7.0.0
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=1024M; support was removed in 8.0
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option PermSize=256m; support was removed in 8.0
Picked up _JAVA_OPTIONS: -Dawt.useSystemAAFontSettings=on -Dswing.aatext=true
[INFO] Scanning for projects...
[INFO] 
[INFO] ------------------< org.apache.maven:standalone-pom >-------------------
[INFO] Building Maven Stub Project (No POM) 1
[INFO] --------------------------------[ pom ]---------------------------------
[INFO] 
[INFO] >>> maven-archetype-plugin:2.4:generate (default-cli) > generate-sources @ standalone-pom >>>
[INFO] 
[INFO] <<< maven-archetype-plugin:2.4:generate (default-cli) < generate-sources @ standalone-pom <<<
[INFO] 
[INFO] 
[INFO] --- maven-archetype-plugin:2.4:generate (default-cli) @ standalone-pom ---
[INFO] Generating project in Interactive mode
[INFO] Archetype repository not defined. Using the one from [org.osgi.enroute.archetype:project:7.0.0] found in catalog remote
Define value for property 'groupId': : org.osgi.enroute.examples.quickstart
Define value for property 'artifactId': : quickstart
Define value for property 'version':  1.0-SNAPSHOT: : 
Nov 29, 2018 10:39:02 PM org.apache.velocity.runtime.log.JdkLogChute log
INFO: FileResourceLoader : adding path '.'
Define value for property 'package':  org.osgi.enroute.examples.quickstart.quickstart: : org.osgi.enroute.examples.quickstart.rest
[INFO] Using property: app-artifactId = app
[INFO] Using property: app-target-java-version = 8
[INFO] Using property: impl-artifactId = impl
Confirm properties configuration:
groupId: org.osgi.enroute.examples.quickstart
artifactId: quickstart
version: 1.0-SNAPSHOT
package: org.osgi.enroute.examples.quickstart.rest
app-artifactId: app
app-target-java-version: 8
impl-artifactId: impl
 Y: : 
[INFO] ----------------------------------------------------------------------------
[INFO] Using following parameters for creating project from Archetype: project:7.0.0
[INFO] ----------------------------------------------------------------------------
[INFO] Parameter: groupId, Value: org.osgi.enroute.examples.quickstart
[INFO] Parameter: artifactId, Value: quickstart
[INFO] Parameter: version, Value: 1.0-SNAPSHOT
[INFO] Parameter: package, Value: org.osgi.enroute.examples.quickstart.rest
[INFO] Parameter: packageInPathFormat, Value: org/osgi/enroute/examples/quickstart/rest
[INFO] Parameter: package, Value: org.osgi.enroute.examples.quickstart.rest
[INFO] Parameter: version, Value: 1.0-SNAPSHOT
[INFO] Parameter: groupId, Value: org.osgi.enroute.examples.quickstart
[INFO] Parameter: impl-artifactId, Value: impl
[INFO] Parameter: app-target-java-version, Value: 8
[INFO] Parameter: app-artifactId, Value: app
[INFO] Parameter: artifactId, Value: quickstart
[WARNING] Don't override file /home/maggu2810/data/shared/workspace/projects/de.maggu2810/enroute/playground/quickstart/pom.xml
[INFO] Parent element not overwritten in /home/maggu2810/data/shared/workspace/projects/de.maggu2810/enroute/playground/quickstart/__impl-artifactId__/pom.xml
[INFO] Parent element not overwritten in /home/maggu2810/data/shared/workspace/projects/de.maggu2810/enroute/playground/quickstart/__app-artifactId__/pom.xml
[INFO] project created from Archetype in dir: /home/maggu2810/data/shared/workspace/projects/de.maggu2810/enroute/playground/quickstart
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  36.821 s
[INFO] Finished at: 2018-11-29T22:39:10+01:00
[INFO] ------------------------------------------------------------------------

Java 9 example

Hi, i was trying to build repo on java 9 (without changes at the first shot). As the result...:

 Failed to start bundle org.osgi.enroute.examples.microservice.rest-service-0.0.1.201804180700, exception Unable to resolve org.osgi.enroute.examples.microservice.rest-service [17](R 17.0): missing requirement [org.osgi.enroute.examples.microservice.rest-service [17](R 17.0)] osgi.wiring.package; (osgi.wiring.package=javax.ws.rs.core) [caused by: Unable to resolve org.apache.aries.javax.jax.rs-api [6](R 6.0): missing requirement [org.apache.aries.javax.jax.rs-api [6](R 6.0)] osgi.wiring.package; (osgi.wiring.package=javax.xml.bind.annotation)] Unresolved requirements: [[org.osgi.enroute.examples.microservice.rest-service [17](R 17.0)] osgi.wiring.package; (osgi.wiring.package=javax.ws.rs.core)]
org.osgi.framework.BundleException: Unable to resolve org.osgi.enroute.examples.microservice.rest-service [17](R 17.0): missing requirement [org.osgi.enroute.examples.microservice.rest-service [17](R 17.0)] osgi.wiring.package; (osgi.wiring.package=javax.ws.rs.core) [caused by: Unable to resolve org.apache.aries.javax.jax.rs-api [6](R 6.0): missing requirement [org.apache.aries.javax.jax.rs-api [6](R 6.0)] osgi.wiring.package; (osgi.wiring.package=javax.xml.bind.annotation)] Unresolved requirements: [[org.osgi.enroute.examples.microservice.rest-service [17](R 17.0)] osgi.wiring.package; (osgi.wiring.package=javax.ws.rs.core)]
        at org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:4149)
        at org.apache.felix.framework.Felix.startBundle(Felix.java:2119)
        at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:998)
        at aQute.launcher.Launcher.startBundles(Launcher.java:517)
        at aQute.launcher.Launcher.activate(Launcher.java:423)
        at aQute.launcher.Launcher.run(Launcher.java:301)
        at aQute.launcher.Launcher.main(Launcher.java:147)
! Failed to start bundle org.osgi.enroute.examples.microservice.rest-service-test-0.0.1.201804180700, exception Unable to resolve org.osgi.enroute.examples.microservice.rest-service-test [18](R 18.0): missing requirement [org.osgi.enroute.examples.microservice.rest-service-test [18](R 18.0)] osgi.wiring.package; (&(osgi.wiring.package=org.osgi.service.jaxrs.runtime.dto)(version>=1.0.0)(!(version>=2.0.0))) [caused by: Unable to resolve org.osgi.service.jaxrs [19](R 19.0): missing requirement [org.osgi.service.jaxrs [19](R 19.0)] osgi.wiring.package; (osgi.wiring.package=javax.ws.rs.client) [caused by: Unable to resolve org.apache.aries.javax.jax.rs-api [6](R 6.0): missing requirement [org.apache.aries.javax.jax.rs-api [6](R 6.0)] osgi.wiring.package; (osgi.wiring.package=javax.xml.bind.annotation)]] Unresolved requirements: [[org.osgi.enroute.examples.microservice.rest-service-test [18](R 18.0)] osgi.wiring.package; (&(osgi.wiring.package=org.osgi.service.jaxrs.runtime.dto)(version>=1.0.0)(!(version>=2.0.0)))]
org.osgi.framework.BundleException: Unable to resolve org.osgi.enroute.examples.microservice.rest-service-test [18](R 18.0): missing requirement [org.osgi.enroute.examples.microservice.rest-service-test [18](R 18.0)] osgi.wiring.package; (&(osgi.wiring.package=org.osgi.service.jaxrs.runtime.dto)(version>=1.0.0)(!(version>=2.0.0))) [caused by: Unable to resolve org.osgi.service.jaxrs [19](R 19.0): missing requirement [org.osgi.service.jaxrs [19](R 19.0)] osgi.wiring.package; (osgi.wiring.package=javax.ws.rs.client) [caused by: Unable to resolve org.apache.aries.javax.jax.rs-api [6](R 6.0): missing requirement [org.apache.aries.javax.jax.rs-api [6](R 6.0)] osgi.wiring.package; (osgi.wiring.package=javax.xml.bind.annotation)]] Unresolved requirements: [[org.osgi.enroute.examples.microservice.rest-service-test [18](R 18.0)] osgi.wiring.package; (&(osgi.wiring.package=org.osgi.service.jaxrs.runtime.dto)(version>=1.0.0)(!(version>=2.0.0)))]
        at org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:4149)
        at org.apache.felix.framework.Felix.startBundle(Felix.java:2119)
        at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:998)
        at aQute.launcher.Launcher.startBundles(Launcher.java:517)
        at aQute.launcher.Launcher.activate(Launcher.java:423)
        at aQute.launcher.Launcher.run(Launcher.java:301)
        at aQute.launcher.Launcher.main(Launcher.java:147)
! Failed to start bundle org.osgi.service.jaxrs-1.0.0.201804171514-SNAPSHOT, exception Unable to resolve org.osgi.service.jaxrs [19](R 19.0): missing requirement [org.osgi.service.jaxrs [19](R 19.0)] osgi.wiring.package; (osgi.wiring.package=javax.ws.rs.core) [caused by: Unable to resolve org.apache.aries.javax.jax.rs-api [6](R 6.0): missing requirement [org.apache.aries.javax.jax.rs-api [6](R 6.0)] osgi.wiring.package; (osgi.wiring.package=javax.xml.bind.annotation)] Unresolved requirements: [[org.osgi.service.jaxrs [19](R 19.0)] osgi.wiring.package; (osgi.wiring.package=javax.ws.rs.core)]
org.osgi.framework.BundleException: Unable to resolve org.osgi.service.jaxrs [19](R 19.0): missing requirement [org.osgi.service.jaxrs [19](R 19.0)] osgi.wiring.package; (osgi.wiring.package=javax.ws.rs.core) [caused by: Unable to resolve org.apache.aries.javax.jax.rs-api [6](R 6.0): missing requirement [org.apache.aries.javax.jax.rs-api [6](R 6.0)] osgi.wiring.package; (osgi.wiring.package=javax.xml.bind.annotation)] Unresolved requirements: [[org.osgi.service.jaxrs [19](R 19.0)] osgi.wiring.package; (osgi.wiring.package=javax.ws.rs.core)]
        at org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:4149)
        at org.apache.felix.framework.Felix.startBundle(Felix.java:2119)
        at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:998)
        at aQute.launcher.Launcher.startBundles(Launcher.java:517)
        at aQute.launcher.Launcher.activate(Launcher.java:423)
        at aQute.launcher.Launcher.run(Launcher.java:301)
        at aQute.launcher.Launcher.main(Launcher.java:147)
Unable to resolve org.apache.aries.javax.jax.rs-api [6](R 6.0): missing requirement [org.apache.aries.javax.jax.rs-api [6](R 6.0)] osgi.wiring.package; (osgi.wiring.package=javax.xml.bind.annotation) Unresolved requirements: [[org.apache.aries.javax.jax.rs-api [6](R 6.0)] osgi.wiring.package; (osgi.wiring.package=javax.xml.bind.annotation)]
Unable to resolve org.apache.aries.jax.rs.whiteboard [7](R 7.0): missing requirement [org.apache.aries.jax.rs.whiteboard [7](R 7.0)] osgi.wiring.package; (osgi.wiring.package=javax.activation) Unresolved requirements: [[org.apache.aries.jax.rs.whiteboard [7](R 7.0)] osgi.wiring.package; (osgi.wiring.package=javax.activation)]
Unable to resolve org.osgi.enroute.examples.microservice.rest-service [17](R 17.0): missing requirement [org.osgi.enroute.examples.microservice.rest-service [17](R 17.0)] osgi.wiring.package; (osgi.wiring.package=javax.ws.rs.core) [caused by: Unable to resolve org.apache.aries.javax.jax.rs-api [6](R 6.0): missing requirement [org.apache.aries.javax.jax.rs-api [6](R 6.0)] osgi.wiring.package; (osgi.wiring.package=javax.xml.bind.annotation)] Unresolved requirements: [[org.osgi.enroute.examples.microservice.rest-service [17](R 17.0)] osgi.wiring.package; (osgi.wiring.package=javax.ws.rs.core)]
Unable to resolve org.osgi.enroute.examples.microservice.rest-service-test [18](R 18.0): missing requirement [org.osgi.enroute.examples.microservice.rest-service-test [18](R 18.0)] osgi.wiring.package; (&(osgi.wiring.package=org.osgi.service.jaxrs.runtime.dto)(version>=1.0.0)(!(version>=2.0.0))) [caused by: Unable to resolve org.osgi.service.jaxrs [19](R 19.0): missing requirement [org.osgi.service.jaxrs [19](R 19.0)] osgi.wiring.package; (osgi.wiring.package=javax.ws.rs.client) [caused by: Unable to resolve org.apache.aries.javax.jax.rs-api [6](R 6.0): missing requirement [org.apache.aries.javax.jax.rs-api [6](R 6.0)] osgi.wiring.package; (osgi.wiring.package=javax.xml.bind.annotation)]] Unresolved requirements: [[org.osgi.enroute.examples.microservice.rest-service-test [18](R 18.0)] osgi.wiring.package; (&(osgi.wiring.package=org.osgi.service.jaxrs.runtime.dto)(version>=1.0.0)(!(version>=2.0.0)))]
Unable to resolve org.osgi.service.jaxrs [19](R 19.0): missing requirement [org.osgi.service.jaxrs [19](R 19.0)] osgi.wiring.package; (osgi.wiring.package=javax.ws.rs.core) [caused by: Unable to resolve org.apache.aries.javax.jax.rs-api [6](R 6.0): missing requirement [org.apache.aries.javax.jax.rs-api [6](R 6.0)] osgi.wiring.package; (osgi.wiring.package=javax.xml.bind.annotation)] Unresolved requirements: [[org.osgi.service.jaxrs [19](R 19.0)] osgi.wiring.package; (osgi.wiring.package=javax.ws.rs.core)]
TEST testAllResolved(aQute.junit.UnresolvedTester) <<< FAILURE: Unresolved bundles
org.apache.aries.javax.jax.rs-api [6];0.0.1.201804031517
    Unable to resolve org.apache.aries.javax.jax.rs-api [6](R 6.0): missing requirement [org.apache.aries.javax.jax.rs-api [6](R 6.0)] osgi.wiring.package; (osgi.wiring.package=javax.xml.bind.annotation) Unresolved requirements: [[org.apache.aries.javax.jax.rs-api [6](R 6.0)] osgi.wiring.package; (osgi.wiring.package=javax.xml.bind.annotation)]

org.apache.aries.jax.rs.whiteboard [7];0.0.1.201804031519
    Unable to resolve org.apache.aries.jax.rs.whiteboard [7](R 7.0): missing requirement [org.apache.aries.jax.rs.whiteboard [7](R 7.0)] osgi.wiring.package; (osgi.wiring.package=javax.activation) Unresolved requirements: [[org.apache.aries.jax.rs.whiteboard [7](R 7.0)] osgi.wiring.package; (osgi.wiring.package=javax.activation)]

org.osgi.enroute.examples.microservice.rest-service [17];0.0.1.201804180700
    Unable to resolve org.osgi.enroute.examples.microservice.rest-service [17](R 17.0): missing requirement [org.osgi.enroute.examples.microservice.rest-service [17](R 17.0)] osgi.wiring.package; (osgi.wiring.package=javax.ws.rs.core) [caused by: Unable to resolve org.apache.aries.javax.jax.rs-api [6](R 6.0): missing requirement [org.apache.aries.javax.jax.rs-api [6](R 6.0)] osgi.wiring.package; (osgi.wiring.package=javax.xml.bind.annotation)] Unresolved requirements: [[org.osgi.enroute.examples.microservice.rest-service [17](R 17.0)] osgi.wiring.package; (osgi.wiring.package=javax.ws.rs.core)]

org.osgi.enroute.examples.microservice.rest-service-test [18];0.0.1.201804180700
    Unable to resolve org.osgi.enroute.examples.microservice.rest-service-test [18](R 18.0): missing requirement [org.osgi.enroute.examples.microservice.rest-service-test [18](R 18.0)] osgi.wiring.package;

         Import-Package: org.osgi.service.jaxrs.runtime.dto;version=[1.0.0,2.0.0)
 [caused by: Unable to resolve org.osgi.service.jaxrs [19](R 19.0): missing requirement [org.osgi.service.jaxrs [19](R 19.0)] osgi.wiring.package; (osgi.wiring.package=javax.ws.rs.client) [caused by: Unable to resolve org.apache.aries.javax.jax.rs-api [6](R 6.0): missing requirement [org.apache.aries.javax.jax.rs-api [6](R 6.0)] osgi.wiring.package; (osgi.wiring.package=javax.xml.bind.annotation)]] Unresolved requirements: [[org.osgi.enroute.examples.microservice.rest-service-test [18](R 18.0)] osgi.wiring.package;

         Import-Package: org.osgi.service.jaxrs.runtime.dto;version=[1.0.0,2.0.0)
]

org.osgi.service.jaxrs [19];1.0.0.201804171514-SNAPSHOT
    Unable to resolve org.osgi.service.jaxrs [19](R 19.0): missing requirement [org.osgi.service.jaxrs [19](R 19.0)] osgi.wiring.package; (osgi.wiring.package=javax.ws.rs.core) [caused by: Unable to resolve org.apache.aries.javax.jax.rs-api [6](R 6.0): missing requirement [org.apache.aries.javax.jax.rs-api [6](R 6.0)] osgi.wiring.package; (osgi.wiring.package=javax.xml.bind.annotation)] Unresolved requirements: [[org.osgi.service.jaxrs [19](R 19.0)] osgi.wiring.package; (osgi.wiring.package=javax.ws.rs.core)]


junit.framework.AssertionFailedError: Unresolved bundles
org.apache.aries.javax.jax.rs-api [6];0.0.1.201804031517
    Unable to resolve org.apache.aries.javax.jax.rs-api [6](R 6.0): missing requirement [org.apache.aries.javax.jax.rs-api [6](R 6.0)] osgi.wiring.package; (osgi.wiring.package=javax.xml.bind.annotation) Unresolved requirements: [[org.apache.aries.javax.jax.rs-api [6](R 6.0)] osgi.wiring.package; (osgi.wiring.package=javax.xml.bind.annotation)]

org.apache.aries.jax.rs.whiteboard [7];0.0.1.201804031519
    Unable to resolve org.apache.aries.jax.rs.whiteboard [7](R 7.0): missing requirement [org.apache.aries.jax.rs.whiteboard [7](R 7.0)] osgi.wiring.package; (osgi.wiring.package=javax.activation) Unresolved requirements: [[org.apache.aries.jax.rs.whiteboard [7](R 7.0)] osgi.wiring.package; (osgi.wiring.package=javax.activation)]

org.osgi.enroute.examples.microservice.rest-service [17];0.0.1.201804180700
    Unable to resolve org.osgi.enroute.examples.microservice.rest-service [17](R 17.0): missing requirement [org.osgi.enroute.examples.microservice.rest-service [17](R 17.0)] osgi.wiring.package; (osgi.wiring.package=javax.ws.rs.core) [caused by: Unable to resolve org.apache.aries.javax.jax.rs-api [6](R 6.0): missing requirement [org.apache.aries.javax.jax.rs-api [6](R 6.0)] osgi.wiring.package; (osgi.wiring.package=javax.xml.bind.annotation)] Unresolved requirements: [[org.osgi.enroute.examples.microservice.rest-service [17](R 17.0)] osgi.wiring.package; (osgi.wiring.package=javax.ws.rs.core)]

org.osgi.enroute.examples.microservice.rest-service-test [18];0.0.1.201804180700
    Unable to resolve org.osgi.enroute.examples.microservice.rest-service-test [18](R 18.0): missing requirement [org.osgi.enroute.examples.microservice.rest-service-test [18](R 18.0)] osgi.wiring.package;

         Import-Package: org.osgi.service.jaxrs.runtime.dto;version=[1.0.0,2.0.0)
 [caused by: Unable to resolve org.osgi.service.jaxrs [19](R 19.0): missing requirement [org.osgi.service.jaxrs [19](R 19.0)] osgi.wiring.package; (osgi.wiring.package=javax.ws.rs.client) [caused by: Unable to resolve org.apache.aries.javax.jax.rs-api [6](R 6.0): missing requirement [org.apache.aries.javax.jax.rs-api [6](R 6.0)] osgi.wiring.package; (osgi.wiring.package=javax.xml.bind.annotation)]] Unresolved requirements: [[org.osgi.enroute.examples.microservice.rest-service-test [18](R 18.0)] osgi.wiring.package;

         Import-Package: org.osgi.service.jaxrs.runtime.dto;version=[1.0.0,2.0.0)
]

org.osgi.service.jaxrs [19];1.0.0.201804171514-SNAPSHOT
    Unable to resolve org.osgi.service.jaxrs [19](R 19.0): missing requirement [org.osgi.service.jaxrs [19](R 19.0)] osgi.wiring.package; (osgi.wiring.package=javax.ws.rs.core) [caused by: Unable to resolve org.apache.aries.javax.jax.rs-api [6](R 6.0): missing requirement [org.apache.aries.javax.jax.rs-api [6](R 6.0)] osgi.wiring.package; (osgi.wiring.package=javax.xml.bind.annotation)] Unresolved requirements: [[org.osgi.service.jaxrs [19](R 19.0)] osgi.wiring.package; (osgi.wiring.package=javax.ws.rs.core)]


        at junit.framework.Assert.fail(Assert.java:57)
        at junit.framework.Assert.assertTrue(Assert.java:22)
        at junit.framework.TestCase.assertTrue(TestCase.java:192)
        at aQute.junit.UnresolvedTester.testAllResolved(UnresolvedTester.java:51)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:564)
        at junit.framework.TestCase.runTest(TestCase.java:176)
        at junit.framework.TestCase.runBare(TestCase.java:141)
        at junit.framework.TestResult$1.protect(TestResult.java:122)
        at junit.framework.TestResult.runProtected(TestResult.java:142)
        at junit.framework.TestResult.run(TestResult.java:125)
        at junit.framework.TestCase.run(TestCase.java:129)
        at junit.framework.TestSuite.runTest(TestSuite.java:252)
        at junit.framework.TestSuite.run(TestSuite.java:247)
        at junit.framework.TestSuite.runTest(TestSuite.java:252)
        at junit.framework.TestSuite.run(TestSuite.java:247)
        at aQute.junit.Activator.test(Activator.java:351)
        at aQute.junit.Activator.run(Activator.java:159)
        at aQute.launcher.Launcher$5.call(Launcher.java:1343)
        at aQute.launcher.Launcher$5.call(Launcher.java:1340)
        at aQute.launcher.Launcher.run(Launcher.java:347)
        at aQute.launcher.Launcher.main(Launcher.java:147)
Tests run  : 1
Passed     : 0
Errors     : 0
Failures   : 1
[INFO] 1 Error(s)
[ERROR] Error   : Exit code remote process 1: java -cp C:\Users\Witek\.m2\repository\org\apache\felix\org.apache.felix.framework\5.7.0-SNAPSHOT\org.apache.felix.framework-5.7.0-SNAPSHOT.jar;C:\dev\Projects\osgi.enroute\examples\microservice\rest-service-test\target\test\integration-test\cnf\cache\4.0.0\bnd-cache\biz.aQute.launcher\biz.aQute.launcher-4.0.0.jar -Dlauncher.properties="C:\dev\Projects\osgi.enroute\examples\microservice\rest-service-test\target\test\integration-test\generated\launch11916236618521786612.properties" -ea aQute.launcher.Launcher
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] OSGi enRoute indexes parent ........................ SUCCESS [  0.224 s]
[INFO] osgi-api ........................................... SUCCESS [  0.010 s]
[INFO] impl-index ......................................... SUCCESS [  1.820 s]
[INFO] enterprise-api ..................................... SUCCESS [  0.009 s]
[INFO] debug-bundles ...................................... SUCCESS [  0.009 s]
[INFO] test-bundles ....................................... SUCCESS [  0.581 s]
[INFO] OSGi enRoute Archetypes parent ..................... SUCCESS [  0.047 s]
[INFO] project ............................................ SUCCESS [ 18.945 s]
[INFO] ds-component ....................................... SUCCESS [  4.951 s]
[INFO] rest-component ..................................... SUCCESS [  5.047 s]
[INFO] project-bare ....................................... SUCCESS [  1.526 s]
[INFO] application ........................................ SUCCESS [ 22.469 s]
[INFO] api ................................................ SUCCESS [  4.145 s]
[INFO] bundle-test ........................................ SUCCESS [  8.421 s]
[INFO] OSGi enRoute examples parent ....................... SUCCESS [  0.010 s]
[INFO] quickstart ......................................... SUCCESS [  0.006 s]
[INFO] rest ............................................... SUCCESS [  0.992 s]
[INFO] app ................................................ SUCCESS [  1.616 s]
[INFO] microservice ....................................... SUCCESS [  0.008 s]
[INFO] dao-api ............................................ SUCCESS [  0.964 s]
[INFO] rest-service ....................................... SUCCESS [  0.678 s]
[INFO] dao-impl ........................................... SUCCESS [  0.175 s]
[INFO] rest-app ........................................... SUCCESS [  1.795 s]
[INFO] dao-impl-jpa ....................................... SUCCESS [  0.224 s]
[INFO] rest-app-jpa ....................................... SUCCESS [  3.256 s]
[INFO] rest-service-test .................................. FAILURE [  2.781 s]
[INFO] OSGi enRoute All ................................... SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE

I know java 8 is now mostly used so it is maybe not the-highest-priority, but it would be nice to see at least minimal working on java 9+ example.
I changed the java version in integration-test.bndrun and main pom.xml just for test, but as you assume - didn't change a lot.

osgi.enroute.gogo.shell.provider errors on Windows

I have observed on Windows 7 and Windows 10 that using osgi.enroute.gogo.shell.provider gives Exception in thread "OSGi enRoute Gogo Shell" java.lang.UnsatisfiedLinkError: Could not load library. Reasons: [no jansi in java.library.path]
at org.fusesource.hawtjni.runtime.Library.doLoad(Library.java:182)
at org.fusesource.hawtjni.runtime.Library.load(Library.java:140)
at org.fusesource.jansi.internal.CLibrary.(CLibrary.java:42)
at org.fusesource.jansi.AnsiConsole.wrapOutputStream(AnsiConsole.java:48)
at org.fusesource.jansi.AnsiConsole.(AnsiConsole.java:38)
at jline.AnsiWindowsTerminal.detectAnsiSupport(AnsiWindowsTerminal.java:57)
at jline.AnsiWindowsTerminal.(AnsiWindowsTerminal.java:27)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at jline.TerminalFactory.getFlavor(TerminalFactory.java:211)
at jline.TerminalFactory.create(TerminalFactory.java:102)
at jline.TerminalFactory.get(TerminalFactory.java:186)
at jline.TerminalFactory.get(TerminalFactory.java:192)
at osgi.enroute.gogo.shell.provider.Shell$1.run(Shell.java:153)
at java.lang.Thread.run(Unknown Source)

On my system jansi in the Karaf distribution works without problem.

osgi.enroute.scheduler.simple.provider: NPE at startup when bundle with CronJob is started before scheduler bundle

It is not a thread issue, simply the fact that SCR calls the addSchedule before the activate for any existing CronJog services at component activation time. (I should have stressed that I am using the whiteboard approach for scheduling services).
Easy to reproduce if you stop and then start the scheduler bundle while you have CronJob Services with a valid CRON property.
Stack trace:
okt 19, 2016 3:14:19 PM osgi.enroute.scheduler.simple.provider.InternalSchedulerImpl addSchedule
SEVERE: Invalid cron expression 0 * * * * ? from {service.id=108, objectClass=[Ljava.lang.String;@1b934c2d, component.name=eu.vandevelde.playground.impl.CronSample, cron=0 * * * * ?, service.scope=bundle, component.id=61, service.bundleid=40}
java.lang.NullPointerException
at osgi.enroute.scheduler.simple.provider.InternalSchedulerImpl.after(InternalSchedulerImpl.java:90)
at osgi.enroute.scheduler.simple.provider.InternalSchedulerImpl.at(InternalSchedulerImpl.java:285)
at osgi.enroute.scheduler.simple.provider.InternalSchedulerImpl.schedule(InternalSchedulerImpl.java:211)
at osgi.enroute.scheduler.simple.provider.InternalSchedulerImpl.schedule(InternalSchedulerImpl.java:269)
at osgi.enroute.scheduler.simple.provider.InternalSchedulerImpl$Cron.(InternalSchedulerImpl.java:296)
at osgi.enroute.scheduler.simple.provider.InternalSchedulerImpl.addSchedule(InternalSchedulerImpl.java:317)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.felix.scr.impl.inject.BaseMethod.invokeMethod(BaseMethod.java:224)
at org.apache.felix.scr.impl.inject.BaseMethod.access$500(BaseMethod.java:39)
at org.apache.felix.scr.impl.inject.BaseMethod$Resolved.invoke(BaseMethod.java:617)
at org.apache.felix.scr.impl.inject.BaseMethod.invoke(BaseMethod.java:501)
at org.apache.felix.scr.impl.inject.BindMethod.invoke(BindMethod.java:655)
at org.apache.felix.scr.impl.manager.DependencyManager.doInvokeBindMethod(DependencyManager.java:1722)
at org.apache.felix.scr.impl.manager.DependencyManager.open(DependencyManager.java:1556)
at org.apache.felix.scr.impl.manager.SingleComponentManager.createImplementationObject(SingleComponentManager.java:260)
at org.apache.felix.scr.impl.manager.SingleComponentManager.createComponent(SingleComponentManager.java:108)
at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:906)
at org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:879)
at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:748)
at org.apache.felix.scr.impl.manager.AbstractComponentManager.enableInternal(AbstractComponentManager.java:674)
at org.apache.felix.scr.impl.manager.AbstractComponentManager.enable(AbstractComponentManager.java:429)
at org.apache.felix.scr.impl.manager.ConfigurableComponentHolder.enableComponents(ConfigurableComponentHolder.java:657)
at org.apache.felix.scr.impl.BundleComponentActivator.initialEnable(BundleComponentActivator.java:341)
at org.apache.felix.scr.impl.Activator.loadComponents(Activator.java:403)
at org.apache.felix.scr.impl.Activator.access$200(Activator.java:54)
at org.apache.felix.scr.impl.Activator$ScrExtension.start(Activator.java:278)
at org.apache.felix.utils.extender.AbstractExtender.createExtension(AbstractExtender.java:259)
at org.apache.felix.utils.extender.AbstractExtender.modifiedBundle(AbstractExtender.java:232)
at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:482)
at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:415)
at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:232)
at org.osgi.util.tracker.BundleTracker$Tracked.bundleChanged(BundleTracker.java:444)
at org.apache.felix.framework.util.EventDispatcher.invokeBundleListenerCallback(EventDispatcher.java:913)
at org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:834)
at org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:516)
at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4544)
at org.apache.felix.framework.Felix.startBundle(Felix.java:2166)
at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:977)
at org.apache.felix.gogo.command.Basic.start(Basic.java:739)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.felix.gogo.runtime.Reflective.invoke(Reflective.java:137)
at org.apache.felix.gogo.runtime.CommandProxy.execute(CommandProxy.java:82)
at org.apache.felix.gogo.runtime.Closure.executeCmd(Closure.java:480)
at org.apache.felix.gogo.runtime.Closure.executeStatement(Closure.java:406)
at org.apache.felix.gogo.runtime.Pipe.run(Pipe.java:108)
at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:182)
at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:119)
at org.apache.felix.gogo.runtime.CommandSessionImpl.execute(CommandSessionImpl.java:94)
at org.apache.felix.gogo.shell.Console.run(Console.java:66)
at org.apache.felix.gogo.shell.Shell.console(Shell.java:212)
at org.apache.felix.gogo.shell.Shell.gosh(Shell.java:137)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.felix.gogo.runtime.Reflective.invoke(Reflective.java:137)
at org.apache.felix.gogo.runtime.CommandProxy.execute(CommandProxy.java:82)
at org.apache.felix.gogo.runtime.Closure.executeCmd(Closure.java:480)
at org.apache.felix.gogo.runtime.Closure.executeStatement(Closure.java:406)
at org.apache.felix.gogo.runtime.Pipe.run(Pipe.java:108)
at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:182)
at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:119)
at org.apache.felix.gogo.runtime.CommandSessionImpl.execute(CommandSessionImpl.java:94)
at org.apache.felix.gogo.shell.Activator$StartShellJob.run(Activator.java:179)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

Quickstart tutorial resolver error

Hi I'm following the quickstart tutorial and end up with an error when running the command

mvn -pl app -am  bnd-indexer:index     bnd-indexer:index@test-index     bnd-resolver:resolve package

The error is:

mvn -pl app -am  bnd-indexer:index     bnd-indexer:index@test-index     bnd-resolver:resolve package
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.google.inject.internal.cglib.core.$ReflectUtils$1 (file:/usr/share/maven/lib/guice.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain)
WARNING: Please consider reporting this to the maintainers of com.google.inject.internal.cglib.core.$ReflectUtils$1
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Build Order:
[INFO] 
[INFO] example                                                            [pom]
[INFO] impl                                                               [jar]
[INFO] app                                                                [jar]
[INFO] 
[INFO] -------------------------< io.qbilon:example >--------------------------
[INFO] Building example 1.0-SNAPSHOT                                      [1/3]
[INFO] --------------------------------[ pom ]---------------------------------
[INFO] 
[INFO] --- bnd-indexer-maven-plugin:4.3.0:index (default-cli) @ example ---
[INFO] 
[INFO] --- bnd-indexer-maven-plugin:4.3.0:index (test-index) @ example ---
[INFO] 
[INFO] --- bnd-resolver-maven-plugin:4.3.0:resolve (default-cli) @ example ---
[INFO] 
[INFO] ---------------------------< io.qbilon:impl >---------------------------
[INFO] Building impl 1.0-SNAPSHOT                                         [2/3]
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] 
[INFO] --- bnd-indexer-maven-plugin:4.3.0:index (default-cli) @ impl ---
[INFO] 
[INFO] --- bnd-indexer-maven-plugin:4.3.0:index (test-index) @ impl ---
[INFO] 
[INFO] --- bnd-resolver-maven-plugin:4.3.0:resolve (default-cli) @ impl ---
[INFO] 
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ impl ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /home/thomas/vscode-ws/enroute-example/example/impl/src/main/resources
[INFO] 
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ impl ---
[INFO] Nothing to compile - all classes are up to date
[INFO] 
[INFO] --- bnd-maven-plugin:4.3.0:bnd-process (default) @ impl ---
[WARNING] /home/thomas/vscode-ws/enroute-example/example/impl/pom.xml [0:0]: No translation found for macro: impl-artifactId
[INFO] 
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ impl ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /home/thomas/vscode-ws/enroute-example/example/impl/src/test/resources
[INFO] 
[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ impl ---
[INFO] Nothing to compile - all classes are up to date
[INFO] 
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ impl ---
[INFO] Surefire report directory: /home/thomas/vscode-ws/enroute-example/example/impl/target/surefire-reports

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running io.qbilon.example.UnitTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.002 sec

Results :

Tests run: 1, Failures: 0, Errors: 0, Skipped: 0

[INFO] 
[INFO] --- maven-jar-plugin:3.0.2:jar (default-jar) @ impl ---
[INFO] Building jar: /home/thomas/vscode-ws/enroute-example/example/impl/target/impl-1.0-SNAPSHOT.jar
[INFO] 
[INFO] ---------------------------< io.qbilon:app >----------------------------
[INFO] Building app 1.0-SNAPSHOT                                          [3/3]
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] 
[INFO] --- bnd-indexer-maven-plugin:4.3.0:index (default-cli) @ app ---
[INFO] 
[INFO] --- bnd-indexer-maven-plugin:4.3.0:index (test-index) @ app ---
[INFO] 
[INFO] --- bnd-resolver-maven-plugin:4.3.0:resolve (default-cli) @ app ---
[ERROR] Resolution failed. Capabilities satisfying the following requirements could not be found:
    [<<INITIAL>>]
      ⇒ osgi.identity: (osgi.identity=org.apache.felix.webconsole)
    [org.apache.aries.jpa.container version=2.7.0]
      ⇒ osgi.service: (objectClass=javax.persistence.spi.PersistenceProvider)
The following requirements are optional:
    [org.apache.geronimo.specs.geronimo-saaj_1.3_spec version=1.1.0]
      ⇒ osgi.wiring.package: (&(osgi.wiring.package=org.apache.geronimo.osgi.registry.api))
    [ch.qos.logback.classic version=1.2.3]
      ⇒ osgi.wiring.package: (&(osgi.wiring.package=org.codehaus.groovy.transform)(&(version>=2.4.0)(!(version>=3.0.0))))
      ⇒ osgi.wiring.package: (&(osgi.wiring.package=javax.servlet)(&(version>=3.1.0)(!(version>=4.0.0))))
      ⇒ osgi.wiring.package: (&(osgi.wiring.package=org.codehaus.groovy.runtime.wrappers)(&(version>=2.4.0)(!(version>=3.0.0))))
      ⇒ osgi.wiring.package: (&(osgi.wiring.package=org.codehaus.groovy.runtime.callsite)(&(version>=2.4.0)(!(version>=3.0.0))))
      ⇒ osgi.wiring.package: (&(osgi.wiring.package=org.codehaus.groovy.control.customizers)(&(version>=2.4.0)(!(version>=3.0.0))))
      ⇒ osgi.wiring.package: (&(osgi.wiring.package=org.codehaus.groovy.runtime)(&(version>=2.4.0)(!(version>=3.0.0))))
      ⇒ osgi.wiring.package: (&(osgi.wiring.package=groovy.lang)(&(version>=2.4.0)(!(version>=3.0.0))))
      ⇒ osgi.wiring.package: (&(osgi.wiring.package=org.codehaus.groovy.runtime.typehandling)(&(version>=2.4.0)(!(version>=3.0.0))))
      ⇒ osgi.wiring.package: (&(osgi.wiring.package=javax.servlet.http)(&(version>=3.1.0)(!(version>=4.0.0))))
      ⇒ osgi.wiring.package: (&(osgi.wiring.package=org.codehaus.groovy.reflection)(&(version>=2.4.0)(!(version>=3.0.0))))
      ⇒ osgi.wiring.package: (&(osgi.wiring.package=sun.reflect))
      ⇒ osgi.wiring.package: (&(osgi.wiring.package=org.codehaus.groovy.control)(&(version>=2.4.0)(!(version>=3.0.0))))
    [tx-control-provider-jdbc-xa version=1.0.0]
      ⇒ osgi.service: (objectClass=org.osgi.service.jdbc.DataSourceFactory)
    [org.apache.aries.javax.jax.rs-api version=1.0.0]
      ⇒ osgi.wiring.package: (&(osgi.wiring.package=org.apache.geronimo.osgi.registry.api))
    [org.apache.felix.configadmin version=1.9.8]
      ⇒ osgi.wiring.package: (&(osgi.wiring.package=org.osgi.service.coordinator)(&(version>=1.0.0)(!(version>=2.0.0))))
    [tx-control-provider-jpa-xa version=1.0.0]
      ⇒ osgi.service: (objectClass=org.osgi.service.jpa.EntityManagerFactoryBuilder)
      ⇒ osgi.service: (objectClass=org.osgi.service.jdbc.DataSourceFactory)
    [ch.qos.logback.core version=1.2.3]
      ⇒ osgi.wiring.package: (&(osgi.wiring.package=org.codehaus.commons.compiler))
      ⇒ osgi.wiring.package: (&(osgi.wiring.package=javax.servlet)(&(version>=3.1.0)(!(version>=4.0.0))))
      ⇒ osgi.wiring.package: (&(osgi.wiring.package=org.fusesource.jansi)(&(version>=1.9.0)(!(version>=2.0.0))))
      ⇒ osgi.wiring.package: (&(osgi.wiring.package=org.codehaus.janino))
      ⇒ osgi.wiring.package: (&(osgi.wiring.package=javax.servlet.http)(&(version>=3.1.0)(!(version>=4.0.0))))
      ⇒ osgi.wiring.package: (&(osgi.wiring.package=javax.mail))
      ⇒ osgi.wiring.package: (&(osgi.wiring.package=javax.mail.internet))
    [org.apache.felix.http.jetty version=4.0.6]
      ⇒ osgi.wiring.package: (&(osgi.wiring.package=org.osgi.service.metatype)(&(version>=1.1.0)(!(version>=2.0.0))))
      ⇒ osgi.wiring.package: (&(osgi.wiring.package=org.slf4j.spi))
      ⇒ osgi.wiring.package: (&(osgi.wiring.package=org.osgi.service.cm)(&(version>=1.3.0)(!(version>=2.0.0))))
      ⇒ osgi.wiring.package: (&(osgi.wiring.package=org.slf4j.helpers))
      ⇒ osgi.wiring.package: (&(osgi.wiring.package=org.osgi.service.event)(&(version>=1.2.0)(!(version>=2.0.0))))
      ⇒ osgi.wiring.package: (&(osgi.wiring.package=org.osgi.service.useradmin)(&(version>=1.1.0)(!(version>=2.0.0))))
      ⇒ osgi.wiring.package: (&(osgi.wiring.package=org.slf4j))
    [org.apache.felix.scr version=2.1.10]
      ⇒ osgi.wiring.package: (&(osgi.wiring.package=org.apache.felix.service.command)(&(version>=1.0.0)(!(version>=2.0.0))))
      ⇒ osgi.wiring.package: (&(osgi.wiring.package=org.apache.felix.shell)(&(version>=1.0.0)(!(version>=1.1.0))))
      ⇒ osgi.wiring.package: (&(osgi.wiring.package=org.osgi.service.cm)(&(version>=1.6.0)(!(version>=2.0.0))))
      ⇒ osgi.wiring.package: (&(osgi.wiring.package=org.osgi.service.metatype)(&(version>=1.2.0)(!(version>=2.0.0))))
    [org.apache.aries.jax.rs.whiteboard version=1.0.1]
      ⇒ osgi.extender: (osgi.extender=osgi.serviceloader.registrar)
    [org.apache.geronimo.specs.geronimo-activation_1.1_spec version=1.1.0]
      ⇒ osgi.wiring.package: (&(osgi.wiring.package=org.apache.geronimo.osgi.registry.api))
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for example 1.0-SNAPSHOT:
[INFO] 
[INFO] example ............................................ SUCCESS [  0.518 s]
[INFO] impl ............................................... SUCCESS [  2.074 s]
[INFO] app ................................................ FAILURE [  2.703 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  5.633 s
[INFO] Finished at: 2019-12-20T15:14:33+01:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal biz.aQute.bnd:bnd-resolver-maven-plugin:4.3.0:resolve (default-cli) on project app: Unable to resolve <<INITIAL>>: missing requirement osgi.identity;filter:='(osgi.identity=org.apache.felix.webconsole)' -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
[ERROR] 
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR]   mvn <goals> -rf :app

It seems the resolver plugin does not find the felix webconsole which is required by the debug configuration. Any ideas what I'm doing wrong here?

Kind regards,
Thomas

Archetypes not available in Eclipse

Hello,

I wanted to start using the mvn archetypes for enRoute but I can't get Eclipse to find the archetypes.

It seems they are not visible in the archetypes catalogs.

I discovered the following link:

https://oss.sonatype.org/content/groups/osgi/archetype-catalog.xml

that seems to contain the archetypes. I can browse and download the file and it looks OK but when I point Eclipse to the catalog it says the catalog is empty. When I point Eclipse to the locally downloaded catalog file it does indeed display the archetypes...

The documentation / examples pages on enRoute seem really nice, but there is no indication on how to get Eclipse find the archetypes.

(from the command shell it seems to work fine ... I've also pointed my Eclipse to my local maven installation which is the latest available: Apache Maven 3.5.4).

What am I missing?

Regards,

Alex

Logging Example

Could you please add a small example, that shows how to use the new, improved logging mechanism in OSGi R7.

I built a small OSGi application based on this tutorial. https://github.com/osgi/osgi.enroute/tree/master/examples/microservice

I saw, that the Logging mechanism has been improved for the R7 compendium. https://github.com/osgi/design/blob/master/rfcs/rfc0219/rfc-0219-LogService-Update.pdf on page 12

So, I added a field in my my controller class of the rest-service project.
@Reference private org.osgi.service.log.Logger _logger;

Unfortunately, OSGi is not resolving this @Reference and the field is always null.
I am quite new to the OSGi stuff, but as far as I understand the whole thing, I have to add a logging library, that implements this interface. Unfortunately I cannot find a library like log4j, logback, etc that implements the new interface. Do I have to build the bridge between the interface and the implementation or is there something ready to go?

Complex Type for ConfigurationAdmin possible?

Hi,

I am wondering if there is a possibility to use more complex types with the ConfigurationAdmin.

Right now, I have implemented the following:
I created an Annotation with the necessary properties.

public @interface MyConfig
{
    boolean my_isEnabled default true;
    String my_name default "Hallo World";
}

In addition I've added a command, that sets these values:

@Component(
        property = {
            "osgi.command.scope=my.app",
            "osgi.command.function=configure"
        },
        service = ConfigurationCommand.class
)
public class ConfigurationCommand
{
    public static final String CONFIGURATION_NAME = "MyComponent";

    private static final String MY_IS_ENABLED= "my.isEnabled";
    private static final String MY_NAME= "my.name";

    @Reference
    private ConfigurationAdmin _configurationAdmin;

    public void configure(boolean isEnabled, String name) throws IOException
    {
        Configuration configuration = _configurationAdmin.getConfiguration(CONFIGURATION_NAME);

        Hashtable<String, Object> props = new Hashtable<>();
        props.put(MY_IS_ENABLED, isEnabled);
        props.put(MY_NAME, name);

        configuration.update(props);
    }
}

This is working.
But unfortunately this structure is not sufficient for me.
Is it possible to type-safe load a json file (or xml or yaml)?

I will have the same config, but many times.
Is it possible to load the config without even knowing the amount of configurations at compile time?

My config could look like this (json):
{
   "system1": { isEnabled: true, name: "Hallo"},
   "system2": { isEnabled: false, name: "World"}
}

I like the mechanism of the ConfigurtionAdmin as it is type-safe and the configuration can be updated at runtime, but it might be a bit too less in my case ...

Resolution failed while running examples/quickstart

I am following the instructions from https://enroute.osgi.org/tutorial/020-tutorial_qs.html

As per instruction changed the runne to
-runee: JavaSE-1.11
and than ran
mvn bnd-indexer:index bnd-indexer:index@test-index bnd-resolver:resolve

Then get the following error

[serra@archlinux quickstart]$ mvn bnd-indexer:index bnd-indexer:index@test-index bnd-resolver:resolve
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Build Order:
[INFO] 
[INFO] quickstart                                                         [pom]
[INFO] rest                                                               [jar]
[INFO] app                                                                [jar]
[INFO] 
[INFO] ----------< org.osgi.enroute.examples.quickstart:quickstart >-----------
[INFO] Building quickstart 0.0.2-SNAPSHOT                                 [1/3]
[INFO] --------------------------------[ pom ]---------------------------------
[INFO] 
[INFO] --- bnd-indexer-maven-plugin:4.1.0:index (default-cli) @ quickstart ---
[INFO] 
[INFO] --- bnd-indexer-maven-plugin:4.1.0:index (test-index) @ quickstart ---
[INFO] 
[INFO] --- bnd-resolver-maven-plugin:4.1.0:resolve (default-cli) @ quickstart ---
[INFO] 
[INFO] -------------< org.osgi.enroute.examples.quickstart:rest >--------------
[INFO] Building rest 0.0.2-SNAPSHOT                                       [2/3]
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] 
[INFO] --- bnd-indexer-maven-plugin:4.1.0:index (default-cli) @ rest ---
[INFO] 
[INFO] --- bnd-indexer-maven-plugin:4.1.0:index (test-index) @ rest ---
[INFO] 
[INFO] --- bnd-resolver-maven-plugin:4.1.0:resolve (default-cli) @ rest ---
[INFO] 
[INFO] --------------< org.osgi.enroute.examples.quickstart:app >--------------
[INFO] Building app 0.0.2-SNAPSHOT                                        [3/3]
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] 
[INFO] --- bnd-indexer-maven-plugin:4.1.0:index (default-cli) @ app ---
[INFO] 
[INFO] --- bnd-indexer-maven-plugin:4.1.0:index (test-index) @ app ---
[INFO] 
[INFO] --- bnd-resolver-maven-plugin:4.1.0:resolve (default-cli) @ app ---
[ERROR] Resolution failed. Capabilities satisfying the following requirements could not be found:
    [<<INITIAL>>]
      ⇒ osgi.identity: (osgi.identity=org.osgi.enroute.examples.quickstart.rest)
          ⇒ [org.osgi.enroute.examples.quickstart.rest version=0.0.2.201812101617]
              ⇒ osgi.extender: (&(osgi.extender=osgi.component)(version>=1.4.0)(!(version>=2.0.0)))
                  ⇒ [org.apache.felix.scr version=2.1.10]
                      ⇒ osgi.ee: (|(&(osgi.ee=JavaSE)(version=1.7))(&(osgi.ee=JavaSE/compact1)(version=1.8)))
    [org.apache.aries.javax.jax.rs-api version=1.0.0]
      ⇒ osgi.ee: (&(osgi.ee=JavaSE)(version=1.8))
    [org.osgi.service.log version=1.4.0.201802012107]
      ⇒ osgi.ee: (&(osgi.ee=JavaSE)(version=1.7))
    [org.osgi.util.pushstream version=1.0.0.201802012107]
      ⇒ osgi.ee: (&(osgi.ee=JavaSE/compact1)(version=1.8))
    [org.osgi.util.function version=1.1.0.201802012106]
      ⇒ osgi.ee: (&(osgi.ee=JavaSE)(version=1.7))
The following requirements are optional:
    [org.apache.aries.javax.jax.rs-api version=1.0.0]
      ⇒ osgi.wiring.package: (&(osgi.wiring.package=org.apache.geronimo.osgi.registry.api))
    [org.apache.geronimo.specs.geronimo-activation_1.1_spec version=1.1.0]
      ⇒ osgi.wiring.package: (&(osgi.wiring.package=org.apache.geronimo.osgi.registry.api))
    [org.apache.felix.scr version=2.1.10]
      ⇒ osgi.wiring.package: (&(osgi.wiring.package=org.apache.felix.shell)(&(version>=1.0.0)(!(version>=1.1.0))))
      ⇒ osgi.wiring.package: (&(osgi.wiring.package=org.apache.felix.service.command)(&(version>=1.0.0)(!(version>=2.0.0))))
      ⇒ osgi.wiring.package: (&(osgi.wiring.package=org.osgi.service.cm)(&(version>=1.6.0)(!(version>=2.0.0))))
      ⇒ osgi.wiring.package: (&(osgi.wiring.package=org.osgi.service.metatype)(&(version>=1.2.0)(!(version>=2.0.0))))
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for quickstart 0.0.2-SNAPSHOT:
[INFO] 
[INFO] quickstart ......................................... SUCCESS [  0.437 s]
[INFO] rest ............................................... SUCCESS [  1.332 s]
[INFO] app ................................................ FAILURE [  3.206 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  5.803 s
[INFO] Finished at: 2018-12-11T11:52:08+01:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal biz.aQute.bnd:bnd-resolver-maven-plugin:4.1.0:resolve (default-cli) on project app: Unable to resolve <<INITIAL>>: missing requirement osgi.identity;filter:='(osgi.identity=org.osgi.enroute.examples.quickstart.rest)' [caused by: Unable to resolve org.osgi.enroute.examples.quickstart.rest version=0.0.2.201812101617: missing requirement osgi.extender;filter:='(&(osgi.extender=osgi.component)(version>=1.4.0)(!(version>=2.0.0)))' [caused by: Unable to resolve org.apache.felix.scr version=2.1.10: missing requirement osgi.ee;filter:='(|(&(osgi.ee=JavaSE)(version=1.7))(&(osgi.ee=JavaSE/compact1)(version=1.8)))']] -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
[ERROR] 
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR]   mvn <goals> -rf :app

My environment:

[serra@archlinux quickstart]$ java -version
openjdk version "11.0.1" 2018-10-16
OpenJDK Runtime Environment (build 11.0.1+13)
OpenJDK 64-Bit Server VM (build 11.0.1+13, mixed mode)
[serra@archlinux quickstart]$ mvn -v
Apache Maven 3.6.0 (NON-CANONICAL_2018-11-06T03:14:22+01:00_root; 2018-11-06T03:14:22+01:00)
Maven home: /opt/maven
Java version: 11.0.1, vendor: Oracle Corporation, runtime: /usr/lib/jvm/java-11-openjdk
Default locale: de_DE, platform encoding: UTF-8
OS name: "linux", version: "4.19.4-arch1-1-arch", arch: "amd64", family: "unix"

Cannot find /error/org.apache.felix.framework

Hi,

starting from today, I am getting the following error during compilation:

[INFO] --- bnd-export-maven-plugin:4.1.0-SNAPSHOT:export (default) @ my-app ---
[ERROR] Error   : Cannot find /error/org.apache.felix.framework;version=0 Not found in [my-app [org.eclipse.osgi,org.apache.felix.http.jetty,org.apache.chemistry.opencmis.chemistry-opencmis-commons-api,org.apache.felix.configurator,org.eclipse.equinox.event,org.apache.chemistry.opencmis.chemistry-opencmis-client-bindings,org.osgi.service.event,com.my.app.rest-service,org.apache.aries.javax.jax.rs-api,org.apache.chemistry.opencmis.chemistry-opencmis-commons-impl,org.apache.felix.http.servlet-api,tx-control-provider-jdbc-xa,com.sun.xml.bind.jaxb-core,com.sun.xml.bind.jaxb-impl,org.apache.ws.xmlschema.core,org.apache.neethi,org.apache.cxf.cxf-core,org.apache.servicemix.specs.annotation-api-1.3,slf4j.log4j12,woodstox-core-asl,org.eclipse.equinox.log.stream,org.apache.aries.jax.rs.whiteboard,org.apache.chemistry.opencmis.chemistry-opencmis-client-api,ch.qos.logback.classic,org.apache.felix.scr,org.osgi.util.promise,org.apache.chemistry.opencmis.chemistry-opencmis-client-impl,com.my.app.my-app,com.my.app.cmis-repository,stax2-api,org.apache.cxf.cxf-rt-bindings-soap,javax.validation.api,org.apache.cxf.cxf-rt-databinding-jaxb,org.osgi.service.http.whiteboard,org.apache.cxf.cxf-rt-wsdl,org.osgi.service.jaxrs,org.apache.commons.fileupload,ch.qos.logback.core,org.apache.cxf.cxf-rt-frontend-jaxws,org.apache.commons.io,org.osgi.util.converter,tx-control-provider-jpa-xa,org.apache.cxf.cxf-rt-transports-http,org.osgi.util.function,org.apache.cxf.cxf-rt-frontend-simple,org.apache.felix.configadmin,com.my.app.chemistry-wrapper,org.osgi.service.log,log4j,org.osgi.service.metatype,org.eclipse.equinox.metatype,org.apache.cxf.cxf-rt-ws-policy,com.my.app.api,org.apache.aries.jpa.container,org.osgi.service.jdbc,tx-control-service-xa,slf4j.api,org.apache.cxf.cxf-rt-ws-addr,org.apache.aries.jpa.javax.persistence_2.1,org.apache.cxf.cxf-rt-bindings-xml,org.apache.geronimo.specs.geronimo-osgi-locator,org.osgi.util.pushstream r/w=false]
[ERROR] Error   : org.apache.felix.framework;version=0 Not found in [my-app [org.eclipse.osgi,org.apache.felix.http.jetty,org.apache.chemistry.opencmis.chemistry-opencmis-commons-api,org.apache.felix.configurator,org.eclipse.equinox.event,org.apache.chemistry.opencmis.chemistry-opencmis-client-bindings,org.osgi.service.event,com.my.app.rest-service,org.apache.aries.javax.jax.rs-api,org.apache.chemistry.opencmis.chemistry-opencmis-commons-impl,org.apache.felix.http.servlet-api,tx-control-provider-jdbc-xa,com.sun.xml.bind.jaxb-core,com.sun.xml.bind.jaxb-impl,org.apache.ws.xmlschema.core,org.apache.neethi,org.apache.cxf.cxf-core,org.apache.servicemix.specs.annotation-api-1.3,slf4j.log4j12,woodstox-core-asl,org.eclipse.equinox.log.stream,org.apache.aries.jax.rs.whiteboard,org.apache.chemistry.opencmis.chemistry-opencmis-client-api,ch.qos.logback.classic,org.apache.felix.scr,org.osgi.util.promise,org.apache.chemistry.opencmis.chemistry-opencmis-client-impl,com.my.app.my-app,com.my.app.cmis-repository,stax2-api,org.apache.cxf.cxf-rt-bindings-soap,javax.validation.api,org.apache.cxf.cxf-rt-databinding-jaxb,org.osgi.service.http.whiteboard,org.apache.cxf.cxf-rt-wsdl,org.osgi.service.jaxrs,org.apache.commons.fileupload,ch.qos.logback.core,org.apache.cxf.cxf-rt-frontend-jaxws,org.apache.commons.io,org.osgi.util.converter,tx-control-provider-jpa-xa,org.apache.cxf.cxf-rt-transports-http,org.osgi.util.function,org.apache.cxf.cxf-rt-frontend-simple,org.apache.felix.configadmin,com.my.app.chemistry-wrapper,org.osgi.service.log,log4j,org.osgi.service.metatype,org.eclipse.equinox.metatype,org.apache.cxf.cxf-rt-ws-policy,com.my.app.api,org.apache.aries.jpa.container,org.osgi.service.jdbc,tx-control-service-xa,slf4j.api,org.apache.cxf.cxf-rt-ws-addr,org.apache.aries.jpa.javax.persistence_2.1,org.apache.cxf.cxf-rt-bindings-xml,org.apache.geronimo.specs.geronimo-osgi-locator,org.osgi.util.pushstream r/w=false]
[ERROR] Error   : Cannot find /error/org.apache.felix.framework;version=0 Not found in [my-app [org.eclipse.osgi,org.apache.felix.http.jetty,org.apache.chemistry.opencmis.chemistry-opencmis-commons-api,org.apache.felix.configurator,org.eclipse.equinox.event,org.apache.chemistry.opencmis.chemistry-opencmis-client-bindings,org.osgi.service.event,com.my.app.rest-service,org.apache.aries.javax.jax.rs-api,org.apache.chemistry.opencmis.chemistry-opencmis-commons-impl,org.apache.felix.http.servlet-api,tx-control-provider-jdbc-xa,com.sun.xml.bind.jaxb-core,com.sun.xml.bind.jaxb-impl,org.apache.ws.xmlschema.core,org.apache.neethi,org.apache.cxf.cxf-core,org.apache.servicemix.specs.annotation-api-1.3,slf4j.log4j12,woodstox-core-asl,org.eclipse.equinox.log.stream,org.apache.aries.jax.rs.whiteboard,org.apache.chemistry.opencmis.chemistry-opencmis-client-api,ch.qos.logback.classic,org.apache.felix.scr,org.osgi.util.promise,org.apache.chemistry.opencmis.chemistry-opencmis-client-impl,com.my.app.my-app,com.my.app.cmis-repository,stax2-api,org.apache.cxf.cxf-rt-bindings-soap,javax.validation.api,org.apache.cxf.cxf-rt-databinding-jaxb,org.osgi.service.http.whiteboard,org.apache.cxf.cxf-rt-wsdl,org.osgi.service.jaxrs,org.apache.commons.fileupload,ch.qos.logback.core,org.apache.cxf.cxf-rt-frontend-jaxws,org.apache.commons.io,org.osgi.util.converter,tx-control-provider-jpa-xa,org.apache.cxf.cxf-rt-transports-http,org.osgi.util.function,org.apache.cxf.cxf-rt-frontend-simple,org.apache.felix.configadmin,com.my.app.chemistry-wrapper,org.osgi.service.log,log4j,org.osgi.service.metatype,org.eclipse.equinox.metatype,org.apache.cxf.cxf-rt-ws-policy,com.my.app.api,org.apache.aries.jpa.container,org.osgi.service.jdbc,tx-control-service-xa,slf4j.api,org.apache.cxf.cxf-rt-ws-addr,org.apache.aries.jpa.javax.persistence_2.1,org.apache.cxf.cxf-rt-bindings-xml,org.apache.geronimo.specs.geronimo-osgi-locator,org.osgi.util.pushstream r/w=false]
[ERROR] Error   : org.apache.felix.framework;version=0 Not found in [my-app [org.eclipse.osgi,org.apache.felix.http.jetty,org.apache.chemistry.opencmis.chemistry-opencmis-commons-api,org.apache.felix.configurator,org.eclipse.equinox.event,org.apache.chemistry.opencmis.chemistry-opencmis-client-bindings,org.osgi.service.event,com.my.app.rest-service,org.apache.aries.javax.jax.rs-api,org.apache.chemistry.opencmis.chemistry-opencmis-commons-impl,org.apache.felix.http.servlet-api,tx-control-provider-jdbc-xa,com.sun.xml.bind.jaxb-core,com.sun.xml.bind.jaxb-impl,org.apache.ws.xmlschema.core,org.apache.neethi,org.apache.cxf.cxf-core,org.apache.servicemix.specs.annotation-api-1.3,slf4j.log4j12,woodstox-core-asl,org.eclipse.equinox.log.stream,org.apache.aries.jax.rs.whiteboard,org.apache.chemistry.opencmis.chemistry-opencmis-client-api,ch.qos.logback.classic,org.apache.felix.scr,org.osgi.util.promise,org.apache.chemistry.opencmis.chemistry-opencmis-client-impl,com.my.app.my-app,com.my.app.cmis-repository,stax2-api,org.apache.cxf.cxf-rt-bindings-soap,javax.validation.api,org.apache.cxf.cxf-rt-databinding-jaxb,org.osgi.service.http.whiteboard,org.apache.cxf.cxf-rt-wsdl,org.osgi.service.jaxrs,org.apache.commons.fileupload,ch.qos.logback.core,org.apache.cxf.cxf-rt-frontend-jaxws,org.apache.commons.io,org.osgi.util.converter,tx-control-provider-jpa-xa,org.apache.cxf.cxf-rt-transports-http,org.osgi.util.function,org.apache.cxf.cxf-rt-frontend-simple,org.apache.felix.configadmin,com.my.app.chemistry-wrapper,org.osgi.service.log,log4j,org.osgi.service.metatype,org.eclipse.equinox.metatype,org.apache.cxf.cxf-rt-ws-policy,com.my.app.api,org.apache.aries.jpa.container,org.osgi.service.jdbc,tx-control-service-xa,slf4j.api,org.apache.cxf.cxf-rt-ws-addr,org.apache.aries.jpa.javax.persistence_2.1,org.apache.cxf.cxf-rt-bindings-xml,org.apache.geronimo.specs.geronimo-osgi-locator,org.osgi.util.pushstream r/w=false]

As this problem occurs on different machines with different code bases, I guess it is a problem with a dependency.
I searched for a missing dependency, but it seems everything is in place.
Can anybody imagine, what's going wrong?

REST Json: Johnzon JAX-RS

I would like to use a more recent Johnzon library and the upstream JAX-RS support bundle that provides a message body reader and writer.

I am using the following dependencies:

    <dependency>
      <groupId>org.apache.johnzon</groupId>
      <artifactId>johnzon-core</artifactId>
      <version>1.1.12</version>
    </dependency>
    <dependency>
        <groupId>org.apache.johnzon</groupId>
        <artifactId>johnzon-jaxrs</artifactId>
        <version>1.1.12</version>
    </dependency>

    <!-- Johnzon Core 1.1.12: Require-Capability: osgi.extender;filter:="(osgi.extender=osgi.serviceloader.registrar)" -->
    <dependency>
      <groupId>org.apache.aries.spifly</groupId>
      <artifactId>org.apache.aries.spifly.dynamic.bundle</artifactId>
      <version>1.2.3</version>
    </dependency>

    <!-- Johnzon Core 1.1.12: Require-Capability: osgi.contract;osgi.contract=JavaJSONP;filter:="(&(osgi.contract=JavaJSONP)(version=1.1.0))" -->
    <dependency>
      <groupId>org.apache.geronimo.specs</groupId>
      <artifactId>geronimo-json_1.1_spec</artifactId>
      <version>1.2</version>
    </dependency>

and dropped the org.osgi.enroute.examples.microservice.restJsonpConvertingPlugin file.

My assumption has been that classes org.apache.johnzon.jaxrs.JohnzonMessageBodyReader and org.apache.johnzon.jaxrs.JohnzonMessageBodyWriter will be used automatically.

But it does not work.
Could you help?

Suggestion: generate -runbundles in archetype

The bndrun files generated by the archetype have -runrequires populated but not -runbundles. This forces the user to do a resolve before the project can build cleanly.

Why not prepopulate -runbundles in the initial archetype output? We already know exactly what it will be at this stage. Then the user can immediately build and run.

Whiteboard JAX-RS Multipart

Hi guys,

I encountered another problem and I was hoping you could help me out, again.

I am trying to process a request containing a multipart/form-data.
As far as I understood beginning from v3 the HttpServletRequest can parse the form-data without the need of any library.

I extended my small osgi-test app by another controller for the multipart endpoint.
https://github.com/phhoef/osgi-test/blob/master/rest-service/src/main/java/com/my/app/rest/rest/MultipartController.java

Whenever I am trying to invoke the getParts() method the following exception is thrown:

<h2>HTTP ERROR 500</h2>
        <p>Problem accessing /multipart. Reason:

            <pre>    Server Error</pre>
        </p>
        <h3>Caused by:</h3>
        <pre>java.lang.IllegalStateException: Multipart not enabled for servlet.
	at org.apache.felix.http.base.internal.dispatch.ServletRequestWrapper.checkMultipart(ServletRequestWrapper.java:368)
	at org.apache.felix.http.base.internal.dispatch.ServletRequestWrapper.getParts(ServletRequestWrapper.java:522)
	at javax.servlet.http.HttpServletRequestWrapper.getParts(HttpServletRequestWrapper.java:345)
	at com.my.app.rest.rest.MultipartController.post(MultipartController.java:22)

I understand, that I have to activate multipart for that Servlet.
I didn't find much on the internet, only some posts stating either using @MultipartConfig or the @HttpWhiteboardServletMultipart annotation.
For the @MultipartConfig I modified the controller. I subclassed the HttpServlet and set the @Component(service=Servlet.class).
https://blog.osgi.org/2018/05/osgi-r7-highlights-http-whiteboard.html
But both annotations do not influence the behavior.

Do I miss something?

suffix is not taken into account while creating enroute projects in BndTools.

BndTool enroute projects are created using a different template accoring to their name suffix.
But, the suffix seems that is not taken into account if the project name is made of only two parts.
In other words my.project.api actually creates an project for api definition, whereas myproject.api creates a generic example project.

java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing

I create a provider project (although I don't think the project type matters) in EnRoute and a try to run a JUnit test in Eclipse I get:

java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:760)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    at org.junit.internal.builders.JUnit4Builder.runnerForClass(JUnit4Builder.java:10)
    at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
    at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:26)
    at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
    at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:33)
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createUnfilteredTest(JUnit4TestLoader.java:84)
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createTest(JUnit4TestLoader.java:70)
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.loadTests(JUnit4TestLoader.java:43)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:444)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
Caused by: java.lang.ClassNotFoundException: org.hamcrest.SelfDescribing
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 24 more

Solution/workaround is to add org.hamcrest__hamcrest-core jar to some repo (I used JPM) and then add it to -testpath.

Even with the change above, running bnd junit form command line results in

-----------------
Errors
000: Exception: null
001: null

Recreating Quickstart rest/impl Discrepancy

When working through the enRoute quickstart tutorial , on the second page instructions for Creating the Debug Version of quickstart, I am getting an error creating the indexes at the top of the project.
mvn bnd-indexer:index bnd-indexer:index@test-index

It appears that the project template created the "impl" sub-project but the sonatype repository doesn't have a template for "impl". The repository does have a template called "rest". I changed the app/pom.xml to reference the "rest" artifact as a dependency instead of "impl". This allows the successful construction of the index, but the next step, mvn bnd-resolver:resolve fails because it can't find the rest sub-project.

Javadoc warnings

The base.api project has numerous javadoc warnings which should be fixed before release since we plan to release the jars to maven central which includes the javadoc jar.

:osgi.enroute.base.api:javadoc
/Users/hargrave/git/osgi.enroute/osgi.enroute.base.api/src/osgi/enroute/dto/api/DTOs.java:199: warning - @return tag has no arguments.
/Users/hargrave/git/osgi.enroute/osgi.enroute.base.api/src/osgi/enroute/dto/api/DTOs.java:376: warning - @param argument "path" is not a parameter name.
/Users/hargrave/git/osgi.enroute/osgi.enroute.base.api/src/osgi/enroute/dto/api/DTOs.java:73: warning - Tag @link: can't find convert(Class, Object) in osgi.enroute.dto.api.DTOs.Converter
/Users/hargrave/git/osgi.enroute/osgi.enroute.base.api/src/osgi/enroute/dto/api/DTOs.java:59: warning - Tag @link: can't find convert(Class, Object) in osgi.enroute.dto.api.DTOs.Converter
/Users/hargrave/git/osgi.enroute/osgi.enroute.base.api/src/osgi/enroute/dto/api/DTOs.java:47: warning - @param argument "source" is not a parameter name.
/Users/hargrave/git/osgi.enroute/osgi.enroute.base.api/src/osgi/enroute/dto/api/DTOs.java:59: warning - @param argument "source" is not a parameter name.
/Users/hargrave/git/osgi.enroute/osgi.enroute.base.api/src/osgi/enroute/dto/api/DTOs.java:73: warning - @param argument "source" is not a parameter name.
/Users/hargrave/git/osgi.enroute/osgi.enroute.base.api/src/osgi/enroute/rest/api/RESTRequest.java:32: warning - @param argument "<T>" is not a type parameter name.
/Users/hargrave/git/osgi.enroute/osgi.enroute.base.api/src/osgi/enroute/iot/admin/api/CircuitAdmin.java:37: warning - @param argument "wiring" is not a parameter name.
/Users/hargrave/git/osgi.enroute/osgi.enroute.base.api/src/osgi/enroute/iot/admin/api/CircuitAdmin.java:37: warning - @param argument "from" is not a parameter name.
/Users/hargrave/git/osgi.enroute/osgi.enroute.base.api/src/osgi/enroute/iot/admin/api/CircuitAdmin.java:37: warning - @param argument "to" is not a parameter name.
/Users/hargrave/git/osgi.enroute/osgi.enroute.base.api/src/osgi/enroute/authorization/api/SecurityVerifier.java:101: warning - @return tag has no arguments.
/Users/hargrave/git/osgi.enroute/osgi.enroute.base.api/src/osgi/enroute/authorization/api/SecurityVerifier.java:118: warning - @return tag has no arguments.
/Users/hargrave/git/osgi.enroute/osgi.enroute.base.api/src/osgi/enroute/scheduler/api/CronJob.java:75: warning - Tag @see:illegal character: "58" in "http://en.wikipedia.org/wiki/Cron"
/Users/hargrave/git/osgi.enroute/osgi.enroute.base.api/src/osgi/enroute/scheduler/api/CronJob.java:75: warning - Tag @see:illegal character: "47" in "http://en.wikipedia.org/wiki/Cron"
/Users/hargrave/git/osgi.enroute/osgi.enroute.base.api/src/osgi/enroute/scheduler/api/CronJob.java:75: warning - Tag @see:illegal character: "47" in "http://en.wikipedia.org/wiki/Cron"
/Users/hargrave/git/osgi.enroute/osgi.enroute.base.api/src/osgi/enroute/scheduler/api/CronJob.java:75: warning - Tag @see:illegal character: "47" in "http://en.wikipedia.org/wiki/Cron"
/Users/hargrave/git/osgi.enroute/osgi.enroute.base.api/src/osgi/enroute/scheduler/api/CronJob.java:75: warning - Tag @see:illegal character: "47" in "http://en.wikipedia.org/wiki/Cron"
/Users/hargrave/git/osgi.enroute/osgi.enroute.base.api/src/osgi/enroute/scheduler/api/CronJob.java:75: warning - Tag @see cannot be used in inline documentation.  It can only be used in the following types of documentation: overview, package, class/interface, constructor, field, method.
/Users/hargrave/git/osgi.enroute/osgi.enroute.base.api/src/osgi/enroute/scheduler/api/CronJob.java:75: warning - Tag @see: reference not found: http://en.wikipedia.org/wiki/Cron
/Users/hargrave/git/osgi.enroute/osgi.enroute.base.api/src/osgi/enroute/scheduler/api/CronJob.java:75: warning - @yearly is an unknown tag.
/Users/hargrave/git/osgi.enroute/osgi.enroute.base.api/src/osgi/enroute/scheduler/api/CronJob.java:75: warning - @monthly is an unknown tag.
/Users/hargrave/git/osgi.enroute/osgi.enroute.base.api/src/osgi/enroute/scheduler/api/CronJob.java:75: warning - @weekly is an unknown tag.
/Users/hargrave/git/osgi.enroute/osgi.enroute.base.api/src/osgi/enroute/scheduler/api/CronJob.java:75: warning - @daily is an unknown tag.
/Users/hargrave/git/osgi.enroute/osgi.enroute.base.api/src/osgi/enroute/scheduler/api/CronJob.java:75: warning - @hourly is an unknown tag.
/Users/hargrave/git/osgi.enroute/osgi.enroute.base.api/src/osgi/enroute/scheduler/api/CronJob.java:75: warning - @reboot is an unknown tag.
/Users/hargrave/git/osgi.enroute/osgi.enroute.base.api/src/osgi/enroute/scheduler/api/CronJob.java:75: warning - Tag @see cannot be used in inline documentation.  It can only be used in the following types of documentation: overview, package, class/interface, constructor, field, method.
/Users/hargrave/git/osgi.enroute/osgi.enroute.base.api/src/osgi/enroute/scheduler/api/Scheduler.java:139: warning - @return tag has no arguments.
/Users/hargrave/git/osgi.enroute/osgi.enroute.base.api/src/osgi/enroute/scheduler/api/Scheduler.java:194: warning - Tag @link: can't find schedule(Runnable, long, long...) in osgi.enroute.scheduler.api.Scheduler
/Users/hargrave/git/osgi.enroute/osgi.enroute.base.api/src/osgi/enroute/scheduler/api/Scheduler.java:65: warning - @param argument "call" is not a parameter name.
/Users/hargrave/git/osgi.enroute/osgi.enroute.base.api/src/osgi/enroute/iot/gpio/util/ICAdapter.java:46: warning - Tag @link: can't find connect(Output) in osgi.enroute.iot.gpio.util.ICAdapter
/Users/hargrave/git/osgi.enroute/osgi.enroute.base.api/src/osgi/enroute/authentication/api/Authenticator.java:122: warning - @return tag has no arguments.
/Users/hargrave/git/osgi.enroute/osgi.enroute.base.api/src/osgi/enroute/authentication/api/Authenticator.java:134: warning - @param argument "Forget" is not a parameter name.
/Users/hargrave/git/osgi.enroute/osgi.enroute.base.api/src/osgi/enroute/jsonrpc/api/JSONRPC.java:20: warning - @return tag has no arguments.
/Users/hargrave/git/osgi.enroute/osgi.enroute.base.api/src/osgi/enroute/launch/api/Launcher.java:11: warning - Tag @link: can't find LAUNCHED_MAIN in osgi.enroute.launch.api.Launcher
/Users/hargrave/git/osgi.enroute/osgi.enroute.base.api/src/osgi/enroute/capabilities/ConfigurerExtender.java:34: warning - #CONFIGURATION_LOC (referenced by @value tag) is an unknown reference.
/Users/hargrave/git/osgi.enroute/osgi.enroute.base.api/src/osgi/enroute/capabilities/ConfigurerExtender.java:34: warning - #CONFIGURATION_LOC (referenced by @value tag) is an unknown reference.
/Users/hargrave/git/osgi.enroute/osgi.enroute.base.api/src/osgi/enroute/capabilities/ConfigurerExtender.java:34: warning - #CONFIGURATION_LOC (referenced by @value tag) is an unknown reference.
38 warnings

Archetype output uses maven.compiler.source/target 1.8 when app-target-java-version is 11

I generated a project as follows:

mvn -DarchetypeGroupId=org.osgi.enroute.archetype \
    -DarchetypeArtifactId=project \
    -DarchetypeVersion=7.0.0 \
    -DgroupId=org.example \
    -DartifactId=example-parent \
    -Dpackage=org.example.example.parent \
    -Dversion=0.0.1-SNAPSHOT \
    -Dapp-target-java-version=11 \
    org.apache.maven.plugins:maven-archetype-plugin:3.0.1:generate

However the pom.xml in the parent module has:

   <properties>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <bnd.version>4.1.0</bnd.version>
    </properties>

... so the projects are using Java 1.8 source compliance and class library.

Bad commit!!

I did not think that I had commit access, so I did not really pay much attention to what I was doing.

Looks like I just made a bad commit... Could the owner please tell me how you would like to handle this?

I am very sorry for this situation. It was unexpected. :-(

Cheers,
=David

tiny bug in augments

copied from https://github.com/osgi/osgi.enroute.template/issues/5

the augment for equinox.event has a tiny bug in that the two directives are separated by comma rather than by semi-colon.

-augment.eq_ev: \
  org.eclipse.equinox.event; \
      capability:="  osgi.service;objectClass=org.osgi.service.event.EventAdmin;effective:=active, \
                     osgi.implementation;osgi.implementation=osgi.event", \
      requirement:= "osgi.extender;filter:='(osgi.extender=osgi.component)'"

While this is not likely causing too much real damage there's the danger that copying the augments pattern will lead other devs to make the same mistake and run around wondering why it's not working.

Build Failure of app module

Hi,

I have cloned repository, then I've launched command mvn verify. At the end, I have got an error on app module.

Error

Error : Cannot find /error/org.apache.aries.javax.annotation-api;version=[0.0.1,0.0.2) Not found in [app [org.apache.felix.http.jetty,org.osgi.service.http.whiteboard,org.osgi.service.jaxrs,org.apache.commons.fileupload,ch.qos.logback.core,org.apache.commons.io,org.osgi.util.converter,tx-control-provider-jpa-xa,org.apache.felix.configurator,org.eclipse.equinox.event,org.osgi.service.event,org.apache.felix.log,org.apache.aries.javax.jax.rs-api,org.osgi.util.function,org.apache.felix.http.servlet-api,tx-control-provider-jdbc-xa,org.apache.felix.configadmin,org.osgi.service.log,org.osgi.enroute.examples.quickstart.rest,org.apache.felix.framework,org.eclipse.equinox.metatype,org.apache.servicemix.specs.annotation-api-1.3,org.apache.aries.jpa.container,org.apache.aries.jax.rs.whiteboard,tx-control-service-xa,slf4j.api,ch.qos.logback.classic,org.apache.felix.scr,org.osgi.util.promise,org.apache.aries.jpa.javax.persistence_2.1,org.apache.geronimo.specs.geronimo-osgi-locator,org.osgi.util.pushstream r/w=false], bnd-cache [C:/Users/afino/Desktop/AAA/osgi.enroute-master/examples/quickstart/app/target/tmp/export/app/cnf/cache/4.0.0/bnd-cache r/w=false], app [C:\Users\afino\Desktop\AAA\osgi.enroute-master\examples\quickstart\app\target\tmp\export\app\cnf\cache\4.0.0\app r/w=false]] [ERROR] Error : org.apache.aries.javax.annotation-api;version=[0.0.1,0.0.2) Not found in [app [org.apache.felix.http.jetty,org.osgi.service.http.whiteboard,org.osgi.service.jaxrs,org.apache.commons.fileupload,ch.qos.logback.core,org.apache.commons.io,org.osgi.util.converter,tx-control-provider-jpa-xa,org.apache.felix.configurator,org.eclipse.equinox.event,org.osgi.service.event,org.apache.felix.log,org.apache.aries.javax.jax.rs-api,org.osgi.util.function,org.apache.felix.http.servlet-api,tx-control-provider-jdbc-xa,org.apache.felix.configadmin,org.osgi.service.log,org.osgi.enroute.examples.quickstart.rest,org.apache.felix.framework,org.eclipse.equinox.metatype,org.apache.servicemix.specs.annotation-api-1.3,org.apache.aries.jpa.container,org.apache.aries.jax.rs.whiteboard,tx-control-service-xa,slf4j.api,ch.qos.logback.classic,org.apache.felix.scr,org.osgi.util.promise,org.apache.aries.jpa.javax.persistence_2.1,org.apache.geronimo.specs.geronimo-osgi-locator,org.osgi.util.pushstream r/w=false], bnd-cache [C:/Users/afino/Desktop/AAA/osgi.enroute-master/examples/quickstart/app/target/tmp/export/app/cnf/cache/4.0.0/bnd-cache r/w=false], app [C:\Users\afino\Desktop\AAA\osgi.enroute-master\examples\quickstart\app\target\tmp\export\app\cnf\cache\4.0.0\app r/w=false]]

Anyone know how to solve it?
My java version is 1.8.0_171.

Add a Gitpod button to make onboarding even easier

Hi,

we talked baout this issue at EclipseCon and I would like to add a Gitpod button to the Readme of this repo in order to get potential users started even quicker than now. We could copy the Gitpod button displayed here.

Kind regards,
Thomas

Documentation and code out of sync w.r.t definition of ${test-cases}

The code says:
test-cases: ${classes;NAMED;*Test}
(https://github.com/osgi/osgi.enroute/blob/master/cnf/ext/enroute.bnd#L15)

The documentation (http://enroute.osgi.org/tutorial_base/600-testing.html) says:
"The ${test-cases} macro is set by OSGi enRoute; it calculates the classes that either extend junit.framework.TestCase class or that use the the JUnit 4 annotations like @test (you cannot combine these mechanisms)."

What the documentation describes is definitely the more expected behaviour. It took me a long time to figure out why some of my tests were getting run and not others.

R7: use Gogo JLine shell instead of plain shell

indexes/debug-bundles/pom.xml references the plain Gogo Shell, org.apache.felix.gogo.shell. It would be more useful to reference the JLine version, org.apache.felix.gogo.jline.

The enhanced features of JLine don't work everywhere (most annoyingly the Eclipse Console view) but then it just drops down to the same functionality as the plain shell.

Issue fetching ivy-latest.xml during gradle build

Just trying gradle build from the root project. It attempts to download an artifact that the bndtools project is not generating:

* Where:
Settings file 'git/osgi.enroute/settings.gradle' line: 33

* What went wrong:
A problem occurred evaluating settings 'osgi.enroute'.
> Could not resolve all dependencies for configuration 'classpath'.
   > Could not resolve biz.aQute.bnd:biz.aQute.bnd.gradle:latest.
     Required by:
         unspecified:unspecified:unspecified
      > Could not resolve biz.aQute.bnd:biz.aQute.bnd.gradle:latest.
         > Could not get resource 'https://bndtools.ci.cloudbees.com/job/bnd.master/lastSuccessfulBuild/artifact/dist/bundles/biz.aQute.bnd.gradle/ivy-latest.xml'.
            > Could not GET 'https://bndtools.ci.cloudbees.com/job/bnd.master/lastSuccessfulBuild/artifact/dist/bundles/biz.aQute.bnd.gradle/ivy-latest.xml'.
               > peer not authenticated

JAX-RS validation of params

Hi all,

I am sorry to bother you again, but I ran into another problem and I am stuck.
As some of you know, I am building a OSGi enRoute R7 based application. One bundle provides a rest service that relies on the HTTP whiteboard pattern.
The service will be registered and has two @QueryParams - this is working.
So, calling this url is working as expected:
http://localhost:8080/serverInfo?repoName=ZC

But now I would like to do some validation of the params.
My understand of JAX-RS is, that I can add the @NotNull annotation of the javax.validation.constraints package.

So, I added the maven dependency and the annotation to both params.
But when I call the service without providing these params, the method will be executed.
My expectation was, that the method will not be invoked, as the params were both null and the condition is not met.
I double checked and the following URL results in null values for the variables.
http://localhost:8080/serverInfo

I extended my small sample application to show what I did.
You can find my rest bundle implementation here.

Is the validation not support by the whiteboard pattern or do I miss something?

Thanks

How to use MySQL instead H2

Hi everyone, I am trying switch to use MySQL but it seems not work.
It works fine with default H2 configuration.

{
	":configurator:resource-version": 1,
	":configurator:symbolic-name": "my.app.config",
	":configurator:version": "1.0-SNAPSHOT",
	"org.apache.aries.tx.control.jdbc.xa~microservice": {
		"name": "app.database",
		"osgi.jdbc.driver.class": "org.h2.Driver",
		"url": "jdbc:h2:./data/database"
	},
	"my.app.impl.AlarmDAOImpl": {
		"provider.target": "(name=app.database)"
	}
}

But when change to use MySQL like this:

{
	":configurator:resource-version": 1,
	":configurator:symbolic-name": "my.app.config",
	":configurator:version": "1.0-SNAPSHOT",
	"org.apache.aries.tx.control.jdbc.xa~microservice": {
		"name": "app.database",
		"osgi.jdbc.driver.class": "com.mysql.cj.Driver",
		"url": "jdbc:mysql://root:123@localhost:3306/test?useSSL=false"
	},
	"my.app.impl.AlarmDAOImpl": {
		"provider.target": "(name=app.database)"
	}
}

My app seems to get crash and I cannot access the REST endpoint anymore.
Can anyone help me take a look at my configuration?

Quickstart example not working

Hi,

I am unable to complete the quickstart tutorial.

My environment
Java 8
mvn: 3.6.0

I have cloned the entire project
On step run "mvn verify" I receive the below error. Please advise

mvn verify
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Build Order:
[INFO]
[INFO] quickstart [pom]
[INFO] rest [jar]
[INFO] app [jar]
[INFO]
[INFO] ----------< org.osgi.enroute.examples.quickstart:quickstart >-----------
[INFO] Building quickstart 0.0.2-SNAPSHOT [1/3]
[INFO] --------------------------------[ pom ]---------------------------------
[INFO]
[INFO] -------------< org.osgi.enroute.examples.quickstart:rest >--------------
[INFO] Building rest 0.0.2-SNAPSHOT [2/3]
[INFO] --------------------------------[ jar ]---------------------------------
[WARNING] The POM for org.osgi.enroute:osgi-api:pom:7.0.1-SNAPSHOT is missing, no dependency information available
[WARNING] The POM for org.osgi.enroute:enterprise-api:pom:7.0.1-SNAPSHOT is missing, no dependency information available
[WARNING] The POM for org.osgi.enroute:test-bundles:pom:7.0.1-SNAPSHOT is missing, no dependency information available
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for quickstart 0.0.2-SNAPSHOT:
[INFO]
[INFO] quickstart ......................................... SUCCESS [ 0.026 s]
[INFO] rest ............................................... FAILURE [ 0.184 s]
[INFO] app ................................................ SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.397 s
[INFO] Finished at: 2019-02-20T16:56:55-05:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal on project rest: Could not resolve dependencies for project org.osgi.enroute.examples.quickstart:rest:jar:0.0.2-SNAPSHOT: The following artifacts could not be resolved: org.osgi.enroute:osgi-api:pom:7.0.1-SNAPSHOT, org.osgi.enroute:enterprise-api:pom:7.0.1-SNAPSHOT, org.osgi.enroute:test-bundles:pom:7.0.1-SNAPSHOT: Failure to find org.osgi.enroute:osgi-api:pom:7.0.1-SNAPSHOT in https://oss.sonatype.org/content/groups/osgi was cached in the local repository, resolution will not be reattempted until the update interval of OSGi has elapsed or updates are forced -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR] mvn -rf :rest

Failed to build microservices tutoriel

Hi,

Build fail when executing ~/microservice $ mvn -pl rest-app package, the following error message is displayed

[ERROR] Failed to execute goal on project rest-app: Could not resolve dependencies for project org.osgi.enroute.examples.microservice:rest-app:jar:0.0.2-SNAPSHOT: The following artifacts could not be resolved: org.osgi.enroute.examples.microservice:dao-impl:jar:0.0.2-SNAPSHOT, org.osgi.enroute.examples.microservice:rest-service:jar:0.0.2-SNAPSHOT, org.osgi.enroute:osgi-api:pom:7.0.1-SNAPSHOT, org.osgi.enroute:impl-index:pom:7.0.1-SNAPSHOT, org.osgi.enroute:debug-bundles:pom:7.0.1-SNAPSHOT: Could not find artifact org.osgi.enroute.examples.microservice:dao-impl:jar:0.0.2-SNAPSHOT in OSGi (https://oss.sonatype.org/content/groups/osgi)

Any suggestions ! I'm a beginner with this framework .. I will be very grateful for your help, thanks

IoT tutorial -> Crash

I'm trying the IoT tutorial, and maybe there's something I'm doing wrong, but it crashes at the Remote Debugging step at this page http://enroute.osgi.org/tutorial_iot/120-exploring.html

Also, the command sudo bndremote -a won't work, i guess you made a bash script to encapsulate the whole command?

The exception occurs at the moment I start the debugging in eclipse to connect to the raspberry pi.

pi@raspberrypi:~ $ sudo java -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=1044 -jar bndremote.jar -a
Listening for transport dt_socket at address: 1044
java.lang.InterruptedException
at java.lang.Object.wait(Native Method)
at aQute.remote.util.Link.waitForResult(Link.java:296)
at aQute.remote.util.Link$1.invoke(Link.java:136)
at com.sun.proxy.$Proxy2.getFile(Unknown Source)
at aQute.remote.main.EnvoyDispatcher$1.get(EnvoyDispatcher.java:200)
at aQute.libg.shacache.ShaCache.getFile(ShaCache.java:136)
at aQute.remote.main.EnvoyDispatcher$EnvoyImpl.create(EnvoyDispatcher.java:141)
at aQute.remote.main.EnvoyDispatcher$EnvoyImpl.createFramework(EnvoyDispatcher.java:114)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at aQute.remote.util.Link.executeCommand(Link.java:335)
at aQute.remote.util.Link$2.run(Link.java:173)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)

Infinite loop for pattern to execute SUN-FRI

I recently changed my cron pattern from "0 15 0 ? * MON-FRI *" to "0 15 0 ? * SUN-FRI *".
I tried the syntax with https://www.freeformatter.com/cron-expression-generator-quartz.html and that seemed to work fine.
However, when my felix server is starting up and passes the cron pattern onto enroute, the startup thread seems to be blocked (infinite loop) while parsing the pattern.

Is this a bug on your end or should I be using another pattern to execute my job at 00:15 except on all days of the week except Saturday?

For completeness' and clarity's sake, I thought I'dd add the stacktrace:

“FelixStartLevel” #19 daemon prio=5 os_prio=0 tid=0x00007f5964439800 nid=0x1140 runnable [0x00007f594b0c2000]
java.lang.Thread.State: RUNNABLE
at java.time.temporal.ValueRange.isValidIntValue(ValueRange.java:295)
at java.time.temporal.ValueRange.checkValidIntValue(ValueRange.java:329)
at java.time.temporal.ChronoField.checkValidIntValue(ChronoField.java:722)
at java.time.LocalDate.ofEpochDay(LocalDate.java:341)
at java.time.LocalDate.plusDays(LocalDate.java:1351)
at java.time.LocalDate.plus(LocalDate.java:1238)
at java.time.LocalDateTime.plus(LocalDateTime.java:1194)
at java.time.ZonedDateTime.plus(ZonedDateTime.java:1602)
at java.time.ZonedDateTime.plus(ZonedDateTime.java:164)
at osgi.enroute.scheduler.simple.provider.CronAdjuster$Field.isOk(CronAdjuster.java:54)
at osgi.enroute.scheduler.simple.provider.CronAdjuster.adjustInto(CronAdjuster.java:478)
at java.time.ZonedDateTime.with(ZonedDateTime.java:1245)
at osgi.enroute.scheduler.simple.provider.InternalSchedulerImpl$ScheduleCron.next(InternalSchedulerImpl.java:242)
at osgi.enroute.scheduler.simple.provider.InternalSchedulerImpl.schedule(InternalSchedulerImpl.java:275)
at osgi.enroute.scheduler.simple.provider.InternalSchedulerImpl$Cron.(InternalSchedulerImpl.java:303)
at osgi.enroute.scheduler.simple.provider.InternalSchedulerImpl.addSchedule(InternalSchedulerImpl.java:324)
- locked <0x00000005ca20e5c8> (a java.util.ArrayList)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)

Surefire bug preventing build with OpenJDK on Ubuntu

Affected Java version: OpenJDK 1.8.0_181-8u181-b13

Affected Operating System: Debian / Ubuntu

As stated here on Stackoverflow, existing bugs in above mentioned OpenJDK versions and the surefire plugin osgi.enroute depends on cause this bug.

mvn verify output:

[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Build Order:
[INFO] 
[INFO] quickstart
[INFO] rest
[INFO] app
[INFO] 
[INFO] ------------------------------------------------------------------------
[INFO] Building quickstart 0.0.2-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] ------------------------------------------------------------------------
[INFO] Building rest 0.0.2-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ rest ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 4 resources
[INFO] 
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ rest ---
[INFO] Nothing to compile - all classes are up to date
[INFO] 
[INFO] --- bnd-maven-plugin:4.1.0:bnd-process (default) @ rest ---
[INFO] 
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ rest ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /home/xayah/dev/e-mundo/osgi/osgi.enroute/examples/quickstart/rest/src/test/resources
[INFO] 
[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ rest ---
[INFO] Nothing to compile - all classes are up to date
[INFO] 
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ rest ---
[INFO] Surefire report directory: /home/xayah/dev/e-mundo/osgi/osgi.enroute/examples/quickstart/rest/target/surefire-reports

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Error: Could not find or load main class org.apache.maven.surefire.booter.ForkedBooter

Results :

Tests run: 0, Failures: 0, Errors: 0, Skipped: 0

[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO] 
[INFO] quickstart ......................................... SUCCESS [  0.001 s]
[INFO] rest ............................................... FAILURE [  1.247 s]
[INFO] app ................................................ SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.364 s
[INFO] Finished at: 2018-11-03T14:07:21+01:00
[INFO] Final Memory: 14M/240M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.12.4:test (default-test) on project rest: Execution default-test of goal org.apache.maven.plugins:maven-surefire-plugin:2.12.4:test failed: The forked VM terminated without saying properly goodbye. VM crash or System.exit called ? -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginExecutionException
[ERROR] 
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR]   mvn <goals> -rf :rest

Microservice example in Adobe experience manager

Hi,

a question, which dependencies I should use to be able to use OSGi R7 JAX RS in AEM? I would like to try out this example https://enroute.osgi.org/examples/020-examples-microservice.html

I tried with

org.osgi:osgi.core 7.0.0
org.osgi:osgi.cmpn 7.0.0
org.osgi:osgi.annotation 7.0.0
org.osgi:org.osgi.service.component.annotations 1.4.0
org.osg:org.osgi.service.metatype.annotations 1.4.0
org.osgi.service.component:1.4.0
javax.ws.rs: javax.ws.rs-api 2.1.1

also this combination
org.osgi.enroute:osgi-api 7.0.0
org.osgi.enroute:enterprise-api 7.0.0
javax.ws.rs: javax.ws.rs-api 2.1.1

Is it javax.ws.rs code wrapped in some of OSGi dependency or should be added as a separated dependency? When I add it as separated dep. then can't be resolved

Quickstart example fails to run

Hello,

Followed the instructions as https://enroute.osgi.org/tutorial/020-tutorial_qs.html but the application fails to run:

➜ java -jar app/target/app.jar

I'm running openJDK 17.0.1 and Maven 3.8.5 on a CentOS 8 Platform and here are the console outputs:

➜ quickstart git:(main) java -version
openjdk version "17.0.1" 2021-10-19
OpenJDK Runtime Environment 21.9 (build 17.0.1+12)
OpenJDK 64-Bit Server VM 21.9 (build 17.0.1+12, mixed mode, sharing)

➜ quickstart git:(main) mvn -version
Apache Maven 3.8.5 (3599d3414f046de2324203b78ddcf9b5e4388aa0)
Maven home: /usr/local/maven
Java version: 17.0.1, vendor: Red Hat, Inc., runtime: /usr/lib/jvm/java-17-openjdk-17.0.1.0.12-3.rolling.el8.x86_64
Default locale: en_GB, platform encoding: UTF-8
OS name: "linux", version: "4.18.0-348.2.1.el8_5.x86_64", arch: "amd64", family: "unix"

➜ quickstart git:(main) mvn verify
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Build Order:
[INFO]
[INFO] quickstart [pom]
[INFO] rest [jar]
[INFO] app [jar]
[INFO]
[INFO] ----------< org.osgi.enroute.examples.quickstart:quickstart >-----------
[INFO] Building quickstart 0.0.2-SNAPSHOT [1/3]
[INFO] --------------------------------[ pom ]---------------------------------
[INFO]
[INFO] -------------< org.osgi.enroute.examples.quickstart:rest >--------------
[INFO] Building rest 0.0.2-SNAPSHOT [2/3]
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ rest ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 4 resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ rest ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- bnd-maven-plugin:6.1.0:bnd-process (default) @ rest ---
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ rest ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /home/developer/dev/osgi/osgi.enroute/examples/quickstart/rest/src/test/resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ rest ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ rest ---
[INFO] Surefire report directory: /home/developer/dev/osgi/osgi.enroute/examples/quickstart/rest/target/surefire-reports


T E S T S

Running org.osgi.enroute.examples.quickstart.rest.UpperTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec

Results :

Tests run: 1, Failures: 0, Errors: 0, Skipped: 0

[INFO]
[INFO] --- maven-jar-plugin:3.0.2:jar (default-jar) @ rest ---
[INFO] Building jar: /home/developer/dev/osgi/osgi.enroute/examples/quickstart/rest/target/rest-0.0.2-SNAPSHOT.jar
[INFO]
[INFO] --------------< org.osgi.enroute.examples.quickstart:app >--------------
[INFO] Building app 0.0.2-SNAPSHOT [3/3]
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ app ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 1 resource
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ app ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 1 source file to /home/developer/dev/osgi/osgi.enroute/examples/quickstart/app/target/classes
[INFO]
[INFO] --- bnd-maven-plugin:6.1.0:bnd-process (default) @ app ---
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ app ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /home/developer/dev/osgi/osgi.enroute/examples/quickstart/app/src/test/resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ app ---
[INFO] No sources to compile
[INFO]
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ app ---
[INFO] No tests to run.
[INFO]
[INFO] --- maven-jar-plugin:3.0.2:jar (default-jar) @ app ---
[INFO] Building jar: /home/developer/dev/osgi/osgi.enroute/examples/quickstart/app/target/app-0.0.2-SNAPSHOT.jar
[INFO]
[INFO] --- bnd-indexer-maven-plugin:6.1.0:index (index) @ app ---
[INFO] The configured deployment repository OSGi Snapshots has the same id as one of the remote artifact repositories. It is assumed that these repositories are the same.
[INFO]
[INFO] --- bnd-indexer-maven-plugin:6.1.0:index (test-index) @ app ---
[INFO] The configured deployment repository OSGi Snapshots has the same id as one of the remote artifact repositories. It is assumed that these repositories are the same.
[INFO]
[INFO] --- bnd-export-maven-plugin:6.1.0:export (default) @ app ---
[INFO] Exporting /home/developer/dev/osgi/osgi.enroute/examples/quickstart/app/app.bndrun:
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for quickstart 0.0.2-SNAPSHOT:
[INFO]
[INFO] quickstart ......................................... SUCCESS [ 0.002 s]
[INFO] rest ............................................... SUCCESS [ 1.290 s]
[INFO] app ................................................ SUCCESS [ 1.819 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3.206 s
[INFO] Finished at: 2022-04-25T00:05:49+01:00
[INFO] ------------------------------------------------------------------------

➜ quickstart git:(main) java -jar app/target/app.jar
! Failed to start bundle org.apache.aries.javax.jax.rs-api-1.0.4, exception Could not resolve module: org.apache.aries.javax.jax.rs-api [3]
Unresolved requirement: Import-Package: org.apache.geronimo.osgi.registry.api; resolution:="optional"
Unresolved requirement: Import-Package: javax.xml.bind.annotation

org.osgi.framework.BundleException: Could not resolve module: org.apache.aries.javax.jax.rs-api [3]
Unresolved requirement: Import-Package: org.apache.geronimo.osgi.registry.api; resolution:="optional"
Unresolved requirement: Import-Package: javax.xml.bind.annotation

at org.eclipse.osgi.container.Module.start(Module.java:463)
at org.eclipse.osgi.internal.framework.EquinoxBundle.start(EquinoxBundle.java:439)
at aQute.launcher.Launcher.start(Launcher.java:686)
at aQute.launcher.Launcher.startBundles(Launcher.java:666)
at aQute.launcher.Launcher.activate(Launcher.java:572)
at aQute.launcher.Launcher.launch(Launcher.java:402)
at aQute.launcher.Launcher.run(Launcher.java:184)
at aQute.launcher.Launcher.main(Launcher.java:160)
at aQute.launcher.pre.EmbeddedLauncher.executeWithRunPath(EmbeddedLauncher.java:170)
at aQute.launcher.pre.EmbeddedLauncher.findAndExecute(EmbeddedLauncher.java:119)
at aQute.launcher.pre.EmbeddedLauncher.main(EmbeddedLauncher.java:52)

Thanks

Quickstart tutorial application url does not work with Java 17

So, I couldn't get the quickstart tutorial to run at all until I changed '-runee: JavaSE-1.8' to '-runee: JavaSE-17'. After I did that, and the 'mvn bnd-indexer:index bnd-indexer:index@test-index bnd-resolver:resolve' and 'mvn verify', I was able to run it, but when I try and connect to 'http://localhost:8080/quickstart/index.html' it shows 'HTTP ERROR 404 Problem accessing /quickstart/index.html. Reason: Not Found'. http://localhost:8080/rest/upper/lower however does seem to be running, and loads 'LOWER'. Does the project simply not work with Java 17 and I need to use java 11? Or is there a way to make it work? :/

Using repo01 as a repo name is confusing

I searched for some time to try an find how repo01 as a repository name was related to target/index.xml
Turns out that it is a "synthetic name" created from the index file with no real meaning.
A more insightful name may be an advantage.

Investigate Default Package Name in templates

The default package name in the templates is not set by enRoute, it is actually using the “default default” from the Maven archetype system. Is it possible to change that default to a different dynamic value (i.e. one using placeholders).

Need to specify `<failOnChanges>false</failOnChanges>` for `biz.aQute.bnd:bnd-export-maven-plugin`

When running mvn -pl rest-app package per the Microservices tutorial, I get an error from the biz.aQute.bnd:bnd-export-maven-plugin maven plugin.

usr@host:~/sandbox/OSGi/microservice$ mvn -pl rest-app package
<...>
[ERROR] Error   : The runbundles have changed. Failing the build!
Was: null
Is: \
	ch.qos.logback.classic;version='[1.2.3,1.2.4)',\
	ch.qos.logback.core;version='[1.2.3,1.2.4)',\
	org.apache.aries.javax.jax.rs-api;version='[1.0.0,1.0.1)',\
	org.apache.aries.jax.rs.whiteboard;version='[1.0.1,1.0.2)',\
	org.apache.felix.configadmin;version='[1.9.8,1.9.9)',\
	org.apache.felix.http.jetty;version='[4.0.6,4.0.7)',\
	org.apache.felix.http.servlet-api;version='[1.1.2,1.1.3)',\
	org.apache.felix.scr;version='[2.1.10,2.1.11)',\
	org.apache.servicemix.specs.annotation-api-1.3;version='[1.3.0,1.3.1)',\
	org.apache.servicemix.specs.json-api-1.1;version='[2.9.0,2.9.1)',\
	org.osgi.enroute.examples.microservice.dao-api;version='[0.0.1,0.0.2)',\
	org.osgi.enroute.examples.microservice.dao-impl;version='[0.0.1,0.0.2)',\
	org.osgi.enroute.examples.microservice.rest-service;version='[0.0.1,0.0.2)',\
	org.osgi.service.jaxrs;version='[1.0.0,1.0.1)',\
	org.osgi.util.converter;version='[1.0.0,1.0.1)',\
	org.osgi.util.function;version='[1.1.0,1.1.1)',\
	org.osgi.util.promise;version='[1.1.0,1.1.1)',\
	slf4j.api;version='[1.7.25,1.7.26)',\
	tx-control-provider-jdbc-xa;version='[1.0.0,1.0.1)',\
	tx-control-service-xa;version='[1.0.0,1.0.1)'
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3.970 s
[INFO] Finished at: 2019-01-18T13:44:07-05:00
[INFO] Final Memory: 25M/439M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal biz.aQute.bnd:bnd-export-maven-plugin:4.1.0:export 
        (default) on project rest-app: 1 errors found -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, 
        please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException

The biz.aQute.bnd:bnd-export-maven-plugin has a feature where any change in the resolved -runbundles discovered will fail the maven command. If failOnChanges is unspecified, it defaults to true and causes the error seen above.

I'm not sure where in the osgi.enroute project itself this would need to be fixed.


In the meantime, users can add the line

<failOnChanges>false</failOnChanges>

to their rest-app/pom.xml(and also rest-app-jpa/pom.xml) plugin section for biz.aQute.bnd:bnd-export-maven-plugin so it goes from

            <plugin>
                <groupId>biz.aQute.bnd</groupId>
                <artifactId>bnd-export-maven-plugin</artifactId>
                <configuration>
                    <bndruns>
                        <bndrun>rest-app.bndrun</bndrun>
                    </bndruns>
                </configuration>
            </plugin>

to include the new line

            <plugin>
                <groupId>biz.aQute.bnd</groupId>
                <artifactId>bnd-export-maven-plugin</artifactId>
                <configuration>
                    <failOnChanges>false</failOnChanges>
                    <bndruns>
                        <bndrun>rest-app.bndrun</bndrun>
                    </bndruns>
                </configuration>
            </plugin>

HTTP 404 when running app/target/app.jar as in the tutorial

At this page in the tutorial the problem below occurs:
https://enroute.osgi.org/tutorial/020-tutorial_qs.html

I'm using ubuntu 18.10, oracle java 10.0.1 and mvn 3.5.3.
I cloned the osgi.enroute repo today, it is at master 2497da5.

The mvn verify step went well, it took just over 2 minutes here.

Then java -jar app/target/app.jar also appeared to go well,
but the http://localhost:8080/quickstart/index.html
page showed an HTTP 404 when running the target app.

So I restarted to get a log:
java -jar app/target/app.jar >& log.txt
which gave this log.txt when the 404 happens:
log.txt

Early in the log there is this, it could be the root cause, but I'm only starting with OSGi:

! Failed to start bundle org.apache.aries.javax.jax.rs-api-0.0.1.201806180958, exception Unable to resolve org.apache.aries.javax.jax.rs-
api [4](R 4.0): missing requirement [org.apache.aries.javax.jax.rs-api [4](R 4.0)] osgi.wiring.package; (osgi.wiring.package=javax.xml.bind.annotation) Unresolved requirements: [[org.apache.aries.javax.jax.rs-api [4](R 4.0)] osgi.wiring.package; (osgi.wiring.package=javax.xml.bind.annotation)]

Minor point:
I installed bndtools 4.0.0.REL in eclipse 4.7.3a from the eclipse marketplace,
but I don't think I have used them yet for the tutorial.
The tutorial here https://enroute.osgi.org/tutorial/015-Prerequisite.html
says that bndtools is not yet available in the eclipse marketplace, this has probably changed recently.

project{,-bare} archetype: repos

The POM file that is generated by the archetype project and project-bare adds two repositories and one plugin repository (and one of each also for snapshots):

<repositories>
    <repository>
        <id>OSGi</id>
        <name>OSGi public binaries</name>
        <url>https://oss.sonatype.org/content/groups/osgi</url>
        <releases>
            <enabled>true</enabled>
        </releases>
        <snapshots>
            <enabled>true</enabled>
        </snapshots>
    </repository>
    <repository>
        <id>Apache Snapshots</id>
        <url>https://repository.apache.org/content/groups/snapshots/</url>
        <releases>
            <enabled>false</enabled>
        </releases>
        <snapshots>
            <enabled>true</enabled>
        </snapshots>
    </repository>
</repositories>

<pluginRepositories>
    <pluginRepository>
        <id>Bnd Snapshots</id>
        <name>Bnd Latest build</name>
        <url>https://bndtools.ci.cloudbees.com/job/bnd.master/lastSuccessfulBuild/artifact/dist/bundles/</url>
        <releases>
            <enabled>false</enabled>
        </releases>
        <snapshots>
            <enabled>true</enabled>
        </snapshots>
    </pluginRepository>
</pluginRepositories>

Wouldn't it make sense to remove that part in front of a release and keep it on development of this repository only?
It will be part of the POMs generated by the 7.0.0 archetype but there is no need as all artifacts (AFAIK) can be resolved by Maven Central.

Quickstart example not working

I'm running on linuxMint(18.04)
Java version - openjdk version "1.8.0_222"
Maven version -3.6.2

I've downloaded the osgi enRoute startUp examples and running into this this problem.Can someone give a hand on this?

BuildFailure

build error: [ERROR] Could not find goal 'index@index' in plugin biz.aQute.bnd:bnd-indexer-maven-plugin:4.0.0 among available goals index

Environment:

branch: master
commit-id: dddd128f00a0cdcf4ea5c1d414305d6dc6015229
jdK: 1.8
mvn: 3.2.5
command: mvn clean verify

log:

[INFO] -------------------------------------------------
[INFO] Build Summary:
[INFO]   Passed: 0, Failed: 1, Errors: 0, Skipped: 0
[INFO] -------------------------------------------------
[ERROR] The following builds failed:
[ERROR] *  pom.xml
[INFO] -------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] OSGi enRoute indexes parent ........................ SUCCESS [  0.081 s]
[INFO] osgi-api ........................................... SUCCESS [  0.001 s]
[INFO] impl-index ......................................... SUCCESS [03:47 min]
[INFO] enterprise-api ..................................... SUCCESS [  0.002 s]
[INFO] debug-bundles ...................................... SUCCESS [  0.001 s]
[INFO] test-bundles ....................................... SUCCESS [ 29.318 s]
[INFO] OSGi enRoute Archetypes parent ..................... SUCCESS [  0.013 s]
[INFO] project ............................................ FAILURE [ 52.543 s]
[INFO] ds-component ....................................... SKIPPED
[INFO] rest-component ..................................... SKIPPED
[INFO] project-bare ....................................... SKIPPED
[INFO] application ........................................ SKIPPED
[INFO] api ................................................ SKIPPED
[INFO] bundle-test ........................................ SKIPPED
[INFO] OSGi enRoute examples parent ....................... SKIPPED
[INFO] quickstart ......................................... SKIPPED
[INFO] rest ............................................... SKIPPED
[INFO] app ................................................ SKIPPED
[INFO] microservice ....................................... SKIPPED
[INFO] dao-api ............................................ SKIPPED
[INFO] rest-service ....................................... SKIPPED
[INFO] dao-impl ........................................... SKIPPED
[INFO] rest-app ........................................... SKIPPED
[INFO] dao-impl-jpa ....................................... SKIPPED
[INFO] rest-app-jpa ....................................... SKIPPED
[INFO] rest-service-test .................................. SKIPPED
[INFO] OSGi enRoute All ................................... SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 05:10 min
[INFO] Finished at: 2018-10-05T13:29:08+08:00
[INFO] Final Memory: 26M/262M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-invoker-plugin:3.0.1:run (test-archetype) on project project: 1 build failed. See console output above for details. -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR]   mvn <goals> -rf :project

Recreating Quickstart Not Working

I am going through the quickstart example on your site, but I am not able to complete it.

I first ran the below command and the quickstart was able to build succussfully

mvn org.apache.maven.plugins:maven-archetype-plugin:3.0.1:generate \

-DarchetypeGroupId=org.osgi.enroute.archetype \
-DarchetypeArtifactId=project \
-DarchetypeVersion=7.0.0

s\Daniel Silver\osgi\quickstart
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 49.168 s
[INFO] Finished at: 2019-02-22T14:38:38-05:00
[INFO] ------------------------------------------------------------------------

However, when I try to install the maven packages (mvn install) I get the following error.

[INFO] --- bnd-export-maven-plugin:4.1.0:export (default) @ app ---
[ERROR] Error : The runbundles have changed. Failing the build!
Was: null
Is:
org.apache.felix.scr;version='[2.1.10,2.1.11)',
org.osgi.enroute.examples.quickstart.impl;version='[1.0.0,1.0.1)'
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for quickstart 1.0-SNAPSHOT:
[INFO]
[INFO] quickstart ......................................... SUCCESS [ 0.218 s]
[INFO] impl ............................................... SUCCESS [ 1.707 s]
[INFO] app ................................................ FAILURE [ 1.375 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3.448 s
[INFO] Finished at: 2019-02-22T14:53:13-05:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal biz.aQute.bnd:bnd-export-maven-plugin:4.1.0:export (default) on project app: 1 errors found -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR] mvn -rf :app

<upper-app> web component is not rendered

Hi,
thank you for the good starting resource into the OSGI topic. However the quickstart tutorial has an issue with the <upper-app> web component:

grafik

The component does not seem to be rendered. Occured with Firefox (latest version) and Edge browser. There are no errors in the firefox console. The Java Rest Service part on the other hand is working as expected.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.