Hi Richard, It depends the whiteboard properties and the number of resource. I know we have an improvement to do on Pax Web about dealing with several resources locations in the same bundle. That’s maybe the issue. That’s why I would like to check the way the resources are "exposed".
Regards JB > Le 3 mai 2021 à 08:27, Richard Hierlmeier <[email protected]> a > écrit : > > > Are you sure that this is a Vaadin and not a Karaf 4.3.1 problem? What I can > see is that the Vaadin application tries to download > http://localhost:8181/vaadin-8.12.2/VAADIN/vaadinBootstrap.js > <http://localhost:8181/vaadin-8.12.2/VAADIN/vaadinBootstrap.js>. However this > URL can not be resolved. > > Shouldn't the following service provide this file? > > [com.vaadin.osgi.resources.OsgiVaadinResource] > ---------------------------------------------- > osgi.http.whiteboard.context.select = (osgi.http.whiteboard.context.name > <http://osgi.http.whiteboard.context.name/>=com.vaadin) > osgi.http.whiteboard.resource.pattern = /VAADIN/vaadinBootstrap.js > osgi.http.whiteboard.resource.prefix = /VAADIN/vaadinBootstrap.js > service.bundleid = 237 > service.id <http://service.id/> = 251 > service.scope = singleton > Provided by : > Vaadin Server (237) > > [javax.servlet.ServletContext] > ------------------------------ > osgi.web.contextname = com.vaadin > osgi.web.contextpath = /vaadin-8.12.2 > osgi.web.symbolicname = com.vaadin.shared > osgi.web.version = 8.12.2 > service.bundleid = 238 > service.id <http://service.id/> = 242 > service.scope = singleton > Provided by : > Vaadin Shared (238) > Used by: > OPS4J Pax Web - Runtime (100) > > Regards > > Richard > > > > > > Am Fr., 30. Apr. 2021 um 09:27 Uhr schrieb Васил Зорев > <[email protected] <mailto:[email protected]>>: > After a few restarts and version changes 8.6.0 worked for me as well.. Please > ignore my previous statement, I cannot get a consistent result yet. > > На пт, 30.04.2021 г. в 9:34 ч. Jean-Baptiste Onofre <[email protected] > <mailto:[email protected]>> написа: > Hi Alex, > > Sure, you can send the archive to me. > > Regards > JB > >> Le 30 avr. 2021 à 07:55, Alex Weirig <[email protected] >> <mailto:[email protected]>> a écrit : >> >> Hello, >> >> I'm pretty sure, I've been successfully running a full OSGi Vaadin > 8.6.0 >> application in karaf 4.2.x. >> >> The thing is, I had a fix provided by Vaadin that even allowed my to define >> the main UI class as an OSGi service and thus to even use the @Reference >> service injection in the main UI. >> >> That allowed me to use my OSGi backend services in the UI and to dynamically >> compose my UI by getting references to "sub-UI" classes that added pages etc >> to my main UI. That worked really nice and again I'm sure that was > 8.6.0. >> >> I don't know how I can send you an archive of the patched Vaadin bundle >> (can't use attachments) and I don't have github. >> >> @JB: can I send you the archive? >> >> >> Mat frëndleche Gréiss, >> Mit freundlichen Grüßen, >> Meilleures salutations, >> Kind regards, >> >> Alex Weirig >> >> Responsable Technique >> Ville de Luxembourg >> Service Enseignement >> Centre Technolink >> >> Tel +352 4796 - 6127 <tel:+35247966127> >> Fax +352 42 88 81 >> Email [email protected] <mailto:[email protected]> >> www.vdl.lu <http://www.vdl.lu/> >> 2, rue Charles de Tornaco >> L-2623 LUXEMBOURG >> >> indoors.this.blesses >> <https://map.what3words.com/indoors.this.blesses> >> schaufel.besten.kopie >> <https://map.what3words.com/schaufel.besten.kopie> >> supposons.levage.venger >> <https://map.what3words.com/supposons.levage.venger> >> On 30/04/2021 06:38, Jean-Baptiste Onofre wrote: >>> Hi, >>> >>> It looks like a regression in Vaadin 8.6.0. >>> >>> I will try to take a look next week. >>> >>> Regards >>> JB >>> >>>> Le 29 avr. 2021 à 22:03, Васил Зорев <[email protected] >>>> <mailto:[email protected]>> a écrit : >>>> >>>> Does not seem that it was intentional, newer Vaadin 8 release notes say >>>> there were "improvements in OSGi support". >>>> >>>> In my tests on Karaf 4.3.2-SNAPSHOT the last working version is 8.5.2, it >>>> broke with 8.6.0. Possibly with >>>> https://github.com/vaadin/framework/commit/7e89b5e3348be487110bd8a5c60336ff363cf9d6 >>>> >>>> <https://github.com/vaadin/framework/commit/7e89b5e3348be487110bd8a5c60336ff363cf9d6> >>>> , >>>> although not sure about it. I would suggest to ask on the Vaadin forums as >>>> well, just in case. >>>> >>>> На чт, 29.04.2021 г. в 14:30 ч. Richard Hierlmeier >>>> <[email protected] <mailto:[email protected]>> написа: >>>> I have to port a Vaadin 7 applikation to Vaadin 8, so I planned to used >>>> the newest one (8.12.2 or 8.13.0). >>>> >>>> I found a workaround for the problem. >>>> When the Vaadin Servlet that hosts the UI has "/VAADIN/*" in the >>>> URL-Patterns, then the Servlet is called when static resource files from >>>> /VAADIN are requested. >>>> You can overwride then in the VaadinServlet the findResourceURL method and >>>> you can search for all OsgiVaadinResource services an ask them for the >>>> resources. >>>> >>>> Can it be that Vaadin dropped the OSGI support for Vaadin 8. >>>> >>>> Regards >>>> >>>> Richard >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> Am Mi., 28. Apr. 2021 um 23:39 Uhr schrieb Васил Зорев >>>> <[email protected] <mailto:[email protected]>>: >>>> What Vaadin version do you depend on ? I deployed locally the app by Peter >>>> Lehto - https://github.com/peterl1084/vaadin-karaf >>>> <https://github.com/peterl1084/vaadin-karaf> and observed something kind >>>> of strange. >>>> >>>> Karaf version is 4.3.2-SNAPSHOT (from 2-3 weeks ago). >>>> >>>> On Vaadin version 8.3.0, going to http://localhost:8181/myapp >>>> <http://localhost:8181/myapp> showed the expected view. (however >>>> vaadin-osgi-integration was 8.13.0 in the pom at that time, by mistake..) >>>> >>>> I then changed to Vaadin 8.13.0 and got the same error as you did: >>>> Failed to load resource: the server responded with a status of 404 (Not >>>> Found) >>>> http://localhost:8181/vaadin-8.13.0/VAADIN/vaadinBootstrap.js?v=8.13.0 >>>> <http://localhost:8181/vaadin-8.13.0/VAADIN/vaadinBootstrap.js?v=8.13.0> >>>> myapp:21 Uncaught ReferenceError: vaadin is not defined >>>> at myapp:21 >>>> vaadin-8.13.0/VAADIN/themes/valo/favicon.ico:1 Failed to load resource: >>>> the server responded with a status of 404 (Not Found) >>>> http://localhost:8181/vaadin-8.13.0/VAADIN/themes/valo/favicon.ico >>>> <http://localhost:8181/vaadin-8.13.0/VAADIN/themes/valo/favicon.ico> >>>> >>>> Funny enough, changing back to 8.3.0 got it running again... I leave it >>>> for now, but will try to figure something out these days. >>>> >>>> Regards, >>>> Vassil >>>> >>>> На ср, 28.04.2021 г. в 20:03 ч. Васил Зорев <[email protected] >>>> <mailto:[email protected]>> написа: >>>> Hi Richard, >>>> >>>> I cannot give an answer yet as I have no idea yet, but we are currently >>>> running a Vaadin 7 app on Karaf 4.3.1 in my work environment so I would be >>>> very interested to have a look into your issue. >>>> >>>> A few questions. Are you using "stock" Karaf 4.3.1 or you forked it and >>>> built your own? Can you please provide a sample Vaadin 8 app (the minimal >>>> possible version) that reproduces the error you get that I can deploy >>>> locally? How do you deploy the app to Karaf? Also if needed please provide >>>> a sample web descriptor file (if you don't use annotations). >>>> >>>> Regards, >>>> Vassil >>>> >>>> На ср, 28.04.2021 г. в 10:50 ч. Richard Hierlmeier >>>> <[email protected] <mailto:[email protected]>> написа: >>>> >>>> I try to get a simple Vaadin 8 application running on Karaf 4.3.1. >>>> However it is not working. Vaadin can not load it's bootstrap Javascript >>>> File. At the very beginning the Vaadin application makes an >>>> http request to http://localhost:8181/VAADIN/vaadinBootstrap.js >>>> <http://localhost:8181/VAADIN/vaadinBootstrap.js> >>>> Karaf answers with an error code 404 (not found). >>>> >>>> The Vaadin OSGI integration registers it's static resources with >>>> http-whiteboard. >>>> The http:list <http://list/> shows that the patterns are known: >>>> >>>> karaf@root()> http:list <http://list/> >>>> ID | Servlet | Servlet-Name >>>> | State | Alias | Url >>>> ----+---------------------+-------------------------------------------------+-------------+-----------------------------------------------------+------------------------------------------------------ >>>> 176 | CXFNonSpringServlet | cxf-osgi-transport-servlet >>>> | Deployed | /cxf | >>>> [/cxf/*] >>>> 238 | ResourceServlet | txt >>>> | Deployed | /VAADIN/test.txt | >>>> [/VAADIN/test.txt/*] >>>> 238 | ResourceServlet | >>>> /VAADIN/themes/mytheme/*:/VAADIN/themes/mytheme | Deployed | >>>> /VAADIN/themes/mytheme/* | >>>> [/VAADIN/themes/mytheme/*] >>>> 238 | ResourceServlet | /VAADIN/themes/valo/*:/VAADIN/themes/valo >>>> | Deployed | /VAADIN/themes/valo/* | >>>> [/VAADIN/themes/valo/*] >>>> 238 | ResourceServlet | gz >>>> | Deployed | /VAADIN/vaadinBootstrap.js.gz | >>>> [/VAADIN/vaadinBootstrap.js.gz/*] >>>> 238 | ResourceServlet | js >>>> | Deployed | /VAADIN/vaadinBootstrap.js | >>>> [/VAADIN/vaadinBootstrap.js/*] >>>> 238 | ResourceServlet | gz >>>> | Deployed | /VAADIN/vaadinPush.debug.js.gz | >>>> [/VAADIN/vaadinPush.debug.js.gz/*] >>>> 238 | ResourceServlet | js >>>> | Deployed | /VAADIN/vaadinPush.debug.js | >>>> [/VAADIN/vaadinPush.debug.js/*] >>>> 238 | ResourceServlet | gz >>>> | Deployed | /VAADIN/vaadinPush.js.gz | >>>> [/VAADIN/vaadinPush.js.gz/*] >>>> 238 | ResourceServlet | js >>>> | Deployed | /VAADIN/vaadinPush.js | >>>> [/VAADIN/vaadinPush.js/*] >>>> 238 | ResourceServlet | DefaultWidgetSet >>>> | Deployed | /VAADIN/widgetsets/com.vaadin.DefaultWidgetSet/* | >>>> [/VAADIN/widgetsets/com.vaadin.DefaultWidgetSet/*] >>>> 238 | ResourceServlet | Vaadin7WidgetSet >>>> | Deployed | /VAADIN/widgetsets/com.vaadin.v7.Vaadin7WidgetSet/* | >>>> [/VAADIN/widgetsets/com.vaadin.v7.Vaadin7WidgetSet/*] >>>> >>>> I debugged the http request to /VAADIN/vaadinBootstrap.js in the >>>> ResourceServlet from pax-web-jetty and found out that the ResourceServlet >>>> has the wrong HttpContext. >>>> It is using the one from CXF and not the from the Vaadin bundle. >>>> >>>> karaf@root()> la -u | grep 176 >>>> 176 | Active | 40 | 3.4.3 | >>>> mvn:org.apache.cxf/cxf-rt-transports-http/3.4.3 >>>> >>>> When the bundle with ID 176 ( cxf-rt-transports-http) is stopped then the >>>> resource /VAADIN/vaadinBoostrap.js is still not found, but I do no longer >>>> reach the breakpoint in the pax-web-jetty ResourceServlet >>>> >>>> The OSGI service that should bring the /VAADIN/boostrap.js resource has >>>> the following properties: >>>> >>>> [com.vaadin.osgi.resources.OsgiVaadinResource] >>>> ---------------------------------------------- >>>> osgi.http.whiteboard.context.select = (osgi.http.whiteboard.context.name >>>> <http://osgi.http.whiteboard.context.name/>=com.vaadin) >>>> osgi.http.whiteboard.resource.pattern = /VAADIN/vaadinBootstrap.js >>>> osgi.http.whiteboard.resource.prefix = /VAADIN/vaadinBootstrap.js >>>> service.bundleid = 237 >>>> service.id <http://service.id/> = 251 >>>> service.scope = singleton >>>> Provided by : >>>> Vaadin Server (237) >>>> >>>> The ServletContext with name com.vaadin has the following properties: >>>> >>>> [javax.servlet.ServletContext] >>>> ------------------------------ >>>> osgi.web.contextname = com.vaadin >>>> osgi.web.contextpath = /vaadin-8.12.2 >>>> osgi.web.symbolicname = com.vaadin.shared >>>> osgi.web.version = 8.12.2 >>>> service.bundleid = 238 >>>> service.id <http://service.id/> = 242 >>>> service.scope = singleton >>>> Provided by : >>>> Vaadin Shared (238) >>>> Used by: >>>> OPS4J Pax Web - Runtime (100) >>>> >>>> I have the following http-white-board feature installed: >>>> >>>> karaf@root()> feature:list | grep -i white >>>> pax-web-http-whiteboard | 7.3.13 | | >>>> Uninstalled | standard-4.3.1 | Pax Web OSGi HTTP >>>> Whiteboard support >>>> http-whiteboard | 7.3.13 | | >>>> Uninstalled | standard-4.3.1 | Transition feature for >>>> backward compatibility >>>> pax-http-whiteboard | 7.3.13 | | Started >>>> | org.ops4j.pax.web-7.3.13 | Provide HTTP Whiteboard pattern >>>> support >>>> >>>> I tried also the following http requests: >>>> >>>> http://localhost:8181/vaadin-8.12.2/VAADIN/vaadinBootstrap.js >>>> <http://localhost:8181/vaadin-8.12.2/VAADIN/vaadinBootstrap.js> >>>> http://localhost:8181/vaadin-8.12.2/vaadinBootstrap.js >>>> <http://localhost:8181/vaadin-8.12.2/vaadinBootstrap.js> >>>> http://localhost:8181/VAADIN/vaadinBootstrap.js >>>> <http://localhost:8181/VAADIN/vaadinBootstrap.js> >>>> >>>> All end up with an 404. >>>> >>>> What is wrong in my setup? >>>> >>>> Regards >>>> >>>> Richard >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>> >> <alex_weirig.vcf> >
