Hi Tim, hi Paul,

I think they had some trouble with resources in Vaadin in OSGi (Vaadin makes some specific assumptions oabout the file layout I think) and therefore implemented their own ResourceTracker (https://github.com/vaadin/flow/blob/master/flow-osgi/src/main/java/com/vaadin/flow/osgi/support/VaadinResourceTrackerComponent.java). I'm not sure if this can be done in a better way.

Regarding the packaging bug of felix.jetty: Is there an older version of the bundle where this bug is not included, because I remember successfully using felix.jetty for Vaadin once?
Is there a bug repot filed for this bug? Otherwise we should do that.

Kind regards,
Thomas


------ Originalnachricht ------
Von: "Tim Ward via osgi-dev" <osgi-dev@mail.osgi.org>
An: "Paul F Fraser" <pa...@a2zliving.com>; "OSGi Developer Mail List" <osgi-dev@mail.osgi.org>
Gesendet: 16.01.2019 12:20:46
Betreff: Re: [osgi-dev] Vaadin flow works in bnd workspace, fails in enRoute project

Hi Paul,

The error you’re seeing is a resolution failure because the "com.vaadin.flow.osgi version=1.2.3” bundle has a requirement in the “osgi.service” namespace for the service with interface “org.osgi.service.http.HttpService”. This basically says that the Vaadin flow bundle is trying to use the HttpService in some way, and therefore the exported application needs to include a bundle which provides the HttpService.

Now in fact the Felix Http Jetty implementation used in OSGi enRoute *does* provide this service, however it is missing the metadata from the manifest saying that it provides this service. This is a packaging bug in the Felix Jetty bundle, and is why the resolve fails.

There is a further question, which is why on earth the Vaadin Flow bundle is using the HttpService? It would be better and easier for them to use the Http Whiteboard than to use the old HttpService to provide content…

Best Regards,

Tim

On 16 Jan 2019, at 04:45, Paul F Fraser via osgi-dev <osgi-dev@mail.osgi.org> wrote:

Hi,

Following the process below I have sucessfully managed to run a vaadin flow bundle in OSGi.

Create vaadin flow bundle in enroute maven project. https://github.com/QNENet/enRouteQNEFlow-0.0.1Use flow bundle in bnd workspace and export as jar, which of course contains all necessary dependencies.java -jar flow.jar works at localhost:8080 https://s3-ap-southeast-2.amazonaws.com/qnenet/vaadinFlow/flow.jar create application from enRoute archetypeAdd all dependencies as used in exported bnd workspace flow.jarenRoute app fails. [ERROR] Failed to execute goal biz.aQute.bnd:bnd-export-maven-plugin:4.1.0:export (default) on project flow-app: Unable to resolve <<INITIAL>>: missing requirement osgi.identity;filter:='(osgi.identity=com.vaadin.flow.osgi)' [caused by: Unable to resolve com.vaadin.flow.osgi version=1.2.3: missing requirement osgi.service;filter:='(objectClass=org.osgi.service.http.HttpService)';effective:='active'] -> [Help 1]

Any assistance to solve this last (?) hurdle to having an OSGi work environment for vaadin flow development would be most appreciated.

Thanks

Paul Fraser







_______________________________________________
OSGi Developer Mail List
osgi-dev@mail.osgi.org
https://mail.osgi.org/mailman/listinfo/osgi-dev
_______________________________________________
OSGi Developer Mail List
osgi-dev@mail.osgi.org
https://mail.osgi.org/mailman/listinfo/osgi-dev

Reply via email to