Hi, yes, it's what we did in winegrower for the examples.
Regards JB On 11/10/2019 09:06, Christian Schneider wrote: > There is also another issue about embedding dependencies. > > In OSGi it is quite popular to embed dependencies into the bundle with the > original package names. > When used in a flat classloader this makes these embedded packages collide > between bundles. This can be solved though by embedding with a different > unique > classname. I think the shade plugin can do this but I have never tried. > > Christian > > Am Fr., 11. Okt. 2019 um 08:52 Uhr schrieb Guillaume Nodet < > gno...@apache.org>: > >> Le ven. 11 oct. 2019 à 08:37, Jean-Baptiste Onofré <j...@nanthrax.net> a >> écrit : >> >>> Just a side note, not necessary about "happens during runtime" ;) >>> >>> Look on the Karaf static distribution: >>> >>> >>> >> https://github.com/apache/karaf/tree/master/examples/karaf-docker-example/karaf-docker-example-static-dist >>> >>> you will see that the resolution is "prepared" at build time, the >>> runtime resolution is super fast. >>> >>> Karaf is not necessary "I start empty and I add stuff in it", it can be >>> "I prepare all at build for a super fast start". >>> >> >> That's right, but Quarkus goes a lot further than what Karaf does (which is >> to basically to pre-install the bundles). >> Such Karaf distributions could eventually benefit from Quarkus too, but >> going native Karaf still uses OSGi and dynamic classloading, whereas >> compiling to native imposes the whole world to be know at build time and >> thus prohibits the use of dynamic classloading. >> So I think there would be a path for Karaf to leverage Quarkus but that >> would be very limited in JVM mode, unless Karaf is only used to create a >> Quarkus powered distribution where the OSGi classloading would go away. In >> a karaf "static" distribution, we could actually think about it, i.e. use >> something like Felix Connect instead of a real Felix / Equinox framework, >> which removes all classloaders afaik. The only limitation would be to >> choose a way to handle multiple bundle versions, either by rejecting those >> use cases, or try to shadow them into a different package. >> >> >>> >>> Regards >>> JB >>> >>> On 11/10/2019 08:17, Patrique Legault wrote: >>>> Thank you for your response. >>>> >>>> That is very interesting to know. I did not know that Quarkus can do >> all >>> of >>>> that rendering in build time. It makes sense that this is the opposite >> of >>>> OSGi as everythin happens during runtime. >>>> >>>> Thank you. >>>> >>>> On Fri., Oct. 11, 2019, 6:56 a.m. Grzegorz Grzybek, < >>> gr.grzy...@gmail.com> >>>> wrote: >>>> >>>>> Hello >>>>> >>>>> I'm not expert on Quarkus (and GraalVM)... Quoting one of the >>> descriptions: >>>>> >>>>> *The approach that Quarkus takes is to tailor a runtime that only >>> contains >>>>>> what your application needs and to boil down most of the dynamics of >> an >>>>>> enterprise runtime.* >>>>>> >>>>> >>>>> The idea is to get rid of all the parts of the Java runtime aspects >> that >>>>> ... do nothing except preparing your application to run. These are: >>>>> – initialization of jaxb context >>>>> – configuring Hibernate model >>>>> – wiring your CDI beans >>>>> – wiring your Spring beans >>>>> – generally transforming some metadata (annotations, XMLs, >>> configurations, >>>>> ...) into a live object model that no longer changes (usually >> hashmaps) >>>>> >>>>> When the model is read, application does it's job. And we all confirm, >>> that >>>>> if the only goal of Java application is to read file and store it into >>>>> database, starting Hibernate sessionfactory → session and creating >> Camel >>>>> context to do that is ~95% of entire work. Rest is "read file, store >> in >>>>> DB". >>>>> >>>>> Quarkus' goal is to move this 95% work to build time. Yes - build >> time. >>>>> Effectively the goal is to have Java application, that (when starting) >>>>> *already has this model read* - and (in extreme) just mapped in your >>>>> process' virtual memory as set of pages that JVM can already use. >>>>> And it's not only making native JVM images. >>>>> >>>>> This is *directly* opposite to what Karaf (and OSGi in general) is >> for. >>>>> >>>>> But maybe +Guillaume Nodet <gno...@apache.org> can tell more about it >>> ;) >>>>> >>>>> regards >>>>> Grzegorz Grzybek >>>>> >>>>> czw., 10 paź 2019 o 23:48 Patrique Legault <patriquelega...@gmail.com >>> >>>>> napisał(a): >>>>> >>>>>> Yes exactly what I meant. >>>>>> >>>>>> On Thu., Oct. 10, 2019, 11:39 p.m. Krzysztof Sobkowiak, < >>>>>> krzys.sobkow...@gmail.com> wrote: >>>>>> >>>>>>> Hi >>>>>>> >>>>>>> Do you mean a Karaf feature prviding the Quarkus libraries (like the >>>>>>> Spring or Hibernate feaures)? >>>>>>> >>>>>>> Best regards >>>>>>> Krzysztof >>>>>>> >>>>>>> On Thu, 2019-09-26 at 15:25 -0400, Patrique Legault wrote: >>>>>>>> Hello Romain, >>>>>>>> >>>>>>>> Let me just start by saying I probably should have done more >> research >>>>>> on >>>>>>>> Quarkus before sending off this email. >>>>>>>> >>>>>>>> In my mind when I think of Karaf, I think of a service that allows >>>>>>>> developers to simply install a feature into the service and gives >>>>> them >>>>>>>> access to a framework that they can then develop against. For >>>>> instance, >>>>>>>> installing a version of hibernate, spring, etc...into the Karaf >>>>>> service. >>>>>>>> >>>>>>>> When I saw the Quarkus framework, I thought of a potential >>>>> opportunity >>>>>>> for >>>>>>>> Karaf to provide another framework for developers to use. That >> being >>>>>> said >>>>>>>> if this is something that Karaf already exposes through various >> other >>>>>>>> libraries then there is nothing to do. >>>>>>>> >>>>>>>> Next time though I will definitely do some more research prior to a >>>>>>>> proposition. >>>>>>>> >>>>>>>> Cheers, >>>>>>>> >>>>>>>> On Thu, Sep 26, 2019 at 10:10 AM Jamie G. < >> jamie.goody...@gmail.com> >>>>>>> wrote: >>>>>>>> >>>>>>>>> I'm not sure the the ask entails here. >>>>>>>>> >>>>>>>>> Why does it need to be integrated into Karaf? Can Quarkus just >>>>>> publish >>>>>>>>> a feature which Karaf users could install in the usual manner? >>>>>>>>> >>>>>>>>> On Thu, Sep 26, 2019 at 11:34 AM Romain Manni-Bucau >>>>>>>>> <rmannibu...@gmail.com> wrote: >>>>>>>>>> Hi Patrique, >>>>>>>>>> >>>>>>>>>> I have to admit I'm not following, Quarkus is mainly a >>>>> microprofile >>>>>>> based >>>>>>>>>> server integrated with GraalVM in the IBM/Redhat ecosystem to >>>>> build >>>>>>>>>> natively a HTTP app (for k8s). >>>>>>>>>> It also supports a JVM mode but then it is like any CDI/JAXRS >>>>>> server. >>>>>>>>>> In this last mode Karaf is already very competitive so I guess it >>>>>> is >>>>>>> not >>>>>>>>>> the target and in the first mode the current challenge of Graal >>>>> for >>>>>>> Karaf >>>>>>>>>> (OSGi actually) is that it does not support classloading (and >>>>>>> conflicting >>>>>>>>>> API in the same application). >>>>>>>>>> >>>>>>>>>> Concretely my point is that Karaf already supports Tomcat and >>>>> Jetty >>>>>>> (and >>>>>>>>>> undertow i think) through pax-web and jersey/cxf so it already >>>>> has >>>>>> a >>>>>>>>> "lean >>>>>>>>>> and efficient Java server". Add all the recent work about >>>>>>>>> containerization >>>>>>>>>> (static resolver, docker mojo etc) and you can couple it with >>>>>>> "container >>>>>>>>>> first framework". >>>>>>>>>> >>>>>>>>>> Finally, still relying on the JVM enable to Karaf to be more >>>>>>> reliable at >>>>>>>>>> runtime that Quarkus in native mode which still has a poor GC >>>>>>>>>> implementation (it will be enhanced but they are not yet there). >>>>>>>>>> >>>>>>>>>> All that to say I'm not sure the outcome you expect of such a >>>>> task, >>>>>>> can >>>>>>>>> you >>>>>>>>>> refine it a bit maybe? >>>>>>>>>> >>>>>>>>>> Romain Manni-Bucau >>>>>>>>>> @rmannibucau <https://twitter.com/rmannibucau> | Blog >>>>>>>>>> <https://rmannibucau.metawerx.net/> | Old Blog >>>>>>>>>> <http://rmannibucau.wordpress.com> | Github < >>>>>>>>> https://github.com/rmannibucau> | >>>>>>>>>> LinkedIn <https://www.linkedin.com/in/rmannibucau> | Book >>>>>>>>>> < >>>>>>>>> >>>>>>> >>>>>> >>>>> >>> >> https://www.packtpub.com/application-development/java-ee-8-high-performance >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> Le jeu. 26 sept. 2019 à 15:54, Patrique Legault < >>>>>>>>> patriquelega...@gmail.com> >>>>>>>>>> a écrit : >>>>>>>>>> >>>>>>>>>>> There is a new framework released by Red Hat called Quarkus, >>>>> see >>>>>>>>>>> https://quarkus.io/, it is designed/built for >>>>> containerization . >>>>>>>>>>> >>>>>>>>>>> If integrated within Karaf, we could create a feature that >>>>> would >>>>>>>>> install >>>>>>>>>>> the Quarkus framework within Karaf. This would allow for a lean >>>>>> and >>>>>>>>>>> efficient Java server with a container first framework embedded >>>>>>> within >>>>>>>>> it. >>>>>>>>>>> Allowing for quick and easy RESTful services development with a >>>>>> low >>>>>>>>> memory >>>>>>>>>>> footprint and quick container runtime. >>>>>>>>>>> >>>>>>>>>>> Let me know what you think, and if this is worth logging a >>>>> ticket >>>>>>> for. >>>>>>>>>>> >>>>>>>>>>> Cheers, >>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>>> *Patrique Legault* >>>>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> -- >>>>>>> Krzysztof Sobkowiak >>>>>>> >>>>>>> JEE & OSS Architect, Integration Architect >>>>>>> Apache Software Foundation Member (http://apache.org/) >>>>>>> Apache ServiceMix Committer & PMC Member ( >>>>> http://servicemix.apache.org/) >>>>>>> Apache OpenWhisk PMC Member (https://openwhisk.apache.org/) >>>>>>> Apache Incubator PMC Member (https://incubator.apache.org/) >>>>>>> Senior Solution Architect @ Capgemini SSC ( >>>>>>> http://www.capgeminisoftware.pl/) >>>>>>> >>>>>>> >>>>>> >>>>> >>>> >>> >>> -- >>> Jean-Baptiste Onofré >>> jbono...@apache.org >>> http://blog.nanthrax.net >>> Talend - http://www.talend.com >>> >> >> >> -- >> ------------------------ >> Guillaume Nodet >> > > -- Jean-Baptiste Onofré jbono...@apache.org http://blog.nanthrax.net Talend - http://www.talend.com