RE: Karaf 5
Hi JB, Thank you very much. I look forward to dig in to it. Best, -- Jaap |-Oorspronkelijk bericht- |Van: Jean-Baptiste Onofré |Verzonden: donderdag 30 september 2021 18:08 |Aan: user@karaf.apache.org |Onderwerp: Re: Karaf 5 | |Hi Jaap, | |let me rebase and polish a bit and I will push a first round (probably tomorrow |night or during the weekend). I will keep you posted. | |Regards |JB | |On 30/09/2021 14:40, jgfrm wrote: |> Hi JB, |> |> That sounds interesting! |> Is it possible to share what you developed? |> |> Best, |> |> -- Jaap |> |> |-Oorspronkelijk bericht- |> |Van: Jean-Baptiste Onofré |> |Verzonden: donderdag 30 september 2021 11:34 |> |Aan: user@karaf.apache.org |> |Onderwerp: Re: Karaf 5 |> | |> |Hi Jaap, |> | |> |so, yes, we are talking about the same thing ;) |> | |> |There are actually two parts: |> | |> |- registering Spring bean in the K5 service registry and use it in |> |another apps running in K5 |> |- registering "generic" services (like the json-config-loader, |> |extractor, etc) that provide shared resources (like HTTP handler) |> | |> |Regards |> |JB |> | |> |On 29/09/2021 23:30, jgfrm wrote: |> |> Perhaps. |> |> |> |> I want to be able to use a bean in other Spring module. |> |> |> |> What is also an issue it that two (or more) modules obviously |> |> result in two |> |sockets to be opened, in my case both 8400. |> |> A solution could be to open a different socket per module, e.g. |> |> negotiated |> |with a module for that purpose that also routes traffic for a |> |particular endpoint to the socket of the module handling that endpoint. |> |> |> |> In https://github.com/hank-cp/sbp (based on pf4j) they have a |> |> different |> |strategy; there they have one socket for REST calls, and specific |> |endpoints are forwarded to the appropriate plugin. |> |> |> |> Best, |> |> |> |> -- Jaap |> |> |> |> |> |> |-Oorspronkelijk bericht- |> |> |Van: JB Onofré |> |> |Verzonden: woensdag 29 september 2021 22:17 |> |> |Aan: user@karaf.apache.org |> |> |Onderwerp: Re: Karaf 5 |> |> | |> |> |I started a service bridge allowing to implicit push some spring |> |> |bean to the k5 registry and so that can be used from other modules |> |> |running in k5. It’s a local branch for now but I can push it on main. |> |> | |> |> |Is it what you are looking for ? |> |> | |> |> |Regards |> |> |JB |> |> | |> |> |> Le 29 sept. 2021 à 21:43, jgfrm a écrit : |> |> |> |> |> |> Is there already something working for exporting functionality |> |> |> of a Spring |> |> |modules to other modules? |> |> |> |> |> |> |-Oorspronkelijk bericht- |> |> |> |Van: Jean-Baptiste Onofré |> |> |> |Verzonden: woensdag 29 september 2021 17:26 |> |> |> |Aan: user@karaf.apache.org |> |> |> |Onderwerp: Re: Karaf 5 |> |> |> | |> |> |> |Thanks for the update. |> |> |> | |> |> |> |I'm happy to say you are the first one to "use/launch" Karaf 5 |> |> |> |;) |> |> |> | |> |> |> |About the TomcatURLStreamHandlerFactory is known "issue": |> |> |> | |> |> |> |https://github.com/jbonofre/karaf5/blob/main/services/spring-bo |> |> |> |ot- |> |> |> |application- |> |> |> |manager/src/main/java/org/apache/karaf/springboot/SpringBootApp |> |> |> |lic |> |> |> |ati |> |> |> |on |> |> |> |ManagerService.java#L110 |> |> |> | |> |> |> |I have to improve this ;) |> |> |> | |> |> |> |Regards |> |> |> |JB |> |> |> | |> |> |> |On 29/09/2021 17:19, jgfrm wrote: |> |> |> |> The following works: |> |> |> |> |> |> |> |> Karaf.json: |> |> |> |> |> |> |> |> { |> |> |> |>"applications": [ |> |> |> |> { |> |> |> |>"name": "e3web", |> |> |> |>"url": "file:///home/jaap/Karaf5Test/e3web-dev.jar", |> |> |> |>"type": "spring-boot", |> |> |> |>"properties": { |> |> |> |> "enableHttp": true, |> |> |> |> "enablePrometheus": true |> |> |> |>} |> |> |> |> } |> |> |> |>] |> |> |> |> } |> |> |> |> |> |> |> |> |> |> |> |> Add to Spring boot application: |> |> |> |> |> |>
Re: Karaf 5
Hi Jaap, let me rebase and polish a bit and I will push a first round (probably tomorrow night or during the weekend). I will keep you posted. Regards JB On 30/09/2021 14:40, jgfrm wrote: Hi JB, That sounds interesting! Is it possible to share what you developed? Best, -- Jaap |-Oorspronkelijk bericht- |Van: Jean-Baptiste Onofré |Verzonden: donderdag 30 september 2021 11:34 |Aan: user@karaf.apache.org |Onderwerp: Re: Karaf 5 | |Hi Jaap, | |so, yes, we are talking about the same thing ;) | |There are actually two parts: | |- registering Spring bean in the K5 service registry and use it in another apps |running in K5 |- registering "generic" services (like the json-config-loader, extractor, etc) that |provide shared resources (like HTTP handler) | |Regards |JB | |On 29/09/2021 23:30, jgfrm wrote: |> Perhaps. |> |> I want to be able to use a bean in other Spring module. |> |> What is also an issue it that two (or more) modules obviously result in two |sockets to be opened, in my case both 8400. |> A solution could be to open a different socket per module, e.g. negotiated |with a module for that purpose that also routes traffic for a particular |endpoint to the socket of the module handling that endpoint. |> |> In https://github.com/hank-cp/sbp (based on pf4j) they have a different |strategy; there they have one socket for REST calls, and specific endpoints are |forwarded to the appropriate plugin. |> |> Best, |> |> -- Jaap |> |> |> |-Oorspronkelijk bericht- |> |Van: JB Onofré |> |Verzonden: woensdag 29 september 2021 22:17 |> |Aan: user@karaf.apache.org |> |Onderwerp: Re: Karaf 5 |> | |> |I started a service bridge allowing to implicit push some spring bean |> |to the k5 registry and so that can be used from other modules running |> |in k5. It’s a local branch for now but I can push it on main. |> | |> |Is it what you are looking for ? |> | |> |Regards |> |JB |> | |> |> Le 29 sept. 2021 à 21:43, jgfrm a écrit : |> |> |> |> Is there already something working for exporting functionality of |> |> a Spring |> |modules to other modules? |> |> |> |> |-Oorspronkelijk bericht- |> |> |Van: Jean-Baptiste Onofré |> |> |Verzonden: woensdag 29 september 2021 17:26 |> |> |Aan: user@karaf.apache.org |> |> |Onderwerp: Re: Karaf 5 |> |> | |> |> |Thanks for the update. |> |> | |> |> |I'm happy to say you are the first one to "use/launch" Karaf 5 ;) |> |> | |> |> |About the TomcatURLStreamHandlerFactory is known "issue": |> |> | |> |> |https://github.com/jbonofre/karaf5/blob/main/services/spring-boot- |> |> |application- |> |> |manager/src/main/java/org/apache/karaf/springboot/SpringBootApplic |> |> |ati |> |> |on |> |> |ManagerService.java#L110 |> |> | |> |> |I have to improve this ;) |> |> | |> |> |Regards |> |> |JB |> |> | |> |> |On 29/09/2021 17:19, jgfrm wrote: |> |> |> The following works: |> |> |> |> |> |> Karaf.json: |> |> |> |> |> |> { |> |> |>"applications": [ |> |> |> { |> |> |>"name": "e3web", |> |> |>"url": "file:///home/jaap/Karaf5Test/e3web-dev.jar", |> |> |>"type": "spring-boot", |> |> |>"properties": { |> |> |> "enableHttp": true, |> |> |> "enablePrometheus": true |> |> |>} |> |> |> } |> |> |>] |> |> |> } |> |> |> |> |> |> |> |> |> Add to Spring boot application: |> |> |> |> |> |> @SpringBootApplication |> |> |> @ComponentScan |> |> |> public class E3webApplication { |> |> |> |> |> |> ... |> |> |> public static void main(String[] args) { |> |> |> TomcatURLStreamHandlerFactory.disable(); // see |> |> |https://github.com/spring-projects/spring-boot/issues/21535 |> |> |> SpringApplication.run(E3webApplication.class, args); |> |> |> } |> |> |> |> |> |> |> |> |> Start with |> |> |> java --add-modules jdk.security.jgss -cp |> |> |> ../karaf5/assemblies/k4/target/k4-5.0-SNAPSHOT.jar:target/e3web- |> |> |> tes |> |> |> t-1 |> |> |> .0-SNAPSHOT.jar:../karaf5/services/spring-boot-application-manag |> |> |> er/ tar get/spring-boot-application-manager-5.0-SNAPSHOT.jar |> |> |> -Dkaraf.config=src/main/resources/karaf.json |> |> |> org.apache.karaf.boot.Main |> |> |> |> |> |&g
RE: Karaf 5
Hi JB, That sounds interesting! Is it possible to share what you developed? Best, -- Jaap |-Oorspronkelijk bericht- |Van: Jean-Baptiste Onofré |Verzonden: donderdag 30 september 2021 11:34 |Aan: user@karaf.apache.org |Onderwerp: Re: Karaf 5 | |Hi Jaap, | |so, yes, we are talking about the same thing ;) | |There are actually two parts: | |- registering Spring bean in the K5 service registry and use it in another apps |running in K5 |- registering "generic" services (like the json-config-loader, extractor, etc) that |provide shared resources (like HTTP handler) | |Regards |JB | |On 29/09/2021 23:30, jgfrm wrote: |> Perhaps. |> |> I want to be able to use a bean in other Spring module. |> |> What is also an issue it that two (or more) modules obviously result in two |sockets to be opened, in my case both 8400. |> A solution could be to open a different socket per module, e.g. negotiated |with a module for that purpose that also routes traffic for a particular |endpoint to the socket of the module handling that endpoint. |> |> In https://github.com/hank-cp/sbp (based on pf4j) they have a different |strategy; there they have one socket for REST calls, and specific endpoints are |forwarded to the appropriate plugin. |> |> Best, |> |> -- Jaap |> |> |> |-Oorspronkelijk bericht- |> |Van: JB Onofré |> |Verzonden: woensdag 29 september 2021 22:17 |> |Aan: user@karaf.apache.org |> |Onderwerp: Re: Karaf 5 |> | |> |I started a service bridge allowing to implicit push some spring bean |> |to the k5 registry and so that can be used from other modules running |> |in k5. It’s a local branch for now but I can push it on main. |> | |> |Is it what you are looking for ? |> | |> |Regards |> |JB |> | |> |> Le 29 sept. 2021 à 21:43, jgfrm a écrit : |> |> |> |> Is there already something working for exporting functionality of |> |> a Spring |> |modules to other modules? |> |> |> |> |-Oorspronkelijk bericht- |> |> |Van: Jean-Baptiste Onofré |> |> |Verzonden: woensdag 29 september 2021 17:26 |> |> |Aan: user@karaf.apache.org |> |> |Onderwerp: Re: Karaf 5 |> |> | |> |> |Thanks for the update. |> |> | |> |> |I'm happy to say you are the first one to "use/launch" Karaf 5 ;) |> |> | |> |> |About the TomcatURLStreamHandlerFactory is known "issue": |> |> | |> |> |https://github.com/jbonofre/karaf5/blob/main/services/spring-boot- |> |> |application- |> |> |manager/src/main/java/org/apache/karaf/springboot/SpringBootApplic |> |> |ati |> |> |on |> |> |ManagerService.java#L110 |> |> | |> |> |I have to improve this ;) |> |> | |> |> |Regards |> |> |JB |> |> | |> |> |On 29/09/2021 17:19, jgfrm wrote: |> |> |> The following works: |> |> |> |> |> |> Karaf.json: |> |> |> |> |> |> { |> |> |>"applications": [ |> |> |> { |> |> |>"name": "e3web", |> |> |>"url": "file:///home/jaap/Karaf5Test/e3web-dev.jar", |> |> |>"type": "spring-boot", |> |> |>"properties": { |> |> |> "enableHttp": true, |> |> |> "enablePrometheus": true |> |> |>} |> |> |> } |> |> |>] |> |> |> } |> |> |> |> |> |> |> |> |> Add to Spring boot application: |> |> |> |> |> |> @SpringBootApplication |> |> |> @ComponentScan |> |> |> public class E3webApplication { |> |> |> |> |> |> ... |> |> |> public static void main(String[] args) { |> |> |> TomcatURLStreamHandlerFactory.disable(); // see |> |> |https://github.com/spring-projects/spring-boot/issues/21535 |> |> |> SpringApplication.run(E3webApplication.class, args); |> |> |> } |> |> |> |> |> |> |> |> |> Start with |> |> |> java --add-modules jdk.security.jgss -cp |> |> |> ../karaf5/assemblies/k4/target/k4-5.0-SNAPSHOT.jar:target/e3web- |> |> |> tes |> |> |> t-1 |> |> |> .0-SNAPSHOT.jar:../karaf5/services/spring-boot-application-manag |> |> |> er/ tar get/spring-boot-application-manager-5.0-SNAPSHOT.jar |> |> |> -Dkaraf.config=src/main/resources/karaf.json |> |> |> org.apache.karaf.boot.Main |> |> |> |> |> |> |-Oorspronkelijk bericht- |> |> |> |Van: JB Onofré |> |> |> |Verzonden: dinsdag 28 september 2021 06:34 |> |> |> |Aan: user@karaf.apache.org |> |
Re: Karaf 5
Hi Jaap, so, yes, we are talking about the same thing ;) There are actually two parts: - registering Spring bean in the K5 service registry and use it in another apps running in K5 - registering "generic" services (like the json-config-loader, extractor, etc) that provide shared resources (like HTTP handler) Regards JB On 29/09/2021 23:30, jgfrm wrote: Perhaps. I want to be able to use a bean in other Spring module. What is also an issue it that two (or more) modules obviously result in two sockets to be opened, in my case both 8400. A solution could be to open a different socket per module, e.g. negotiated with a module for that purpose that also routes traffic for a particular endpoint to the socket of the module handling that endpoint. In https://github.com/hank-cp/sbp (based on pf4j) they have a different strategy; there they have one socket for REST calls, and specific endpoints are forwarded to the appropriate plugin. Best, -- Jaap |-Oorspronkelijk bericht- |Van: JB Onofré |Verzonden: woensdag 29 september 2021 22:17 |Aan: user@karaf.apache.org |Onderwerp: Re: Karaf 5 | |I started a service bridge allowing to implicit push some spring bean to the k5 |registry and so that can be used from other modules running in k5. It’s a local |branch for now but I can push it on main. | |Is it what you are looking for ? | |Regards |JB | |> Le 29 sept. 2021 à 21:43, jgfrm a écrit : |> |> Is there already something working for exporting functionality of a Spring |modules to other modules? |> |> |-Oorspronkelijk bericht- |> |Van: Jean-Baptiste Onofré |> |Verzonden: woensdag 29 september 2021 17:26 |> |Aan: user@karaf.apache.org |> |Onderwerp: Re: Karaf 5 |> | |> |Thanks for the update. |> | |> |I'm happy to say you are the first one to "use/launch" Karaf 5 ;) |> | |> |About the TomcatURLStreamHandlerFactory is known "issue": |> | |> |https://github.com/jbonofre/karaf5/blob/main/services/spring-boot- |> |application- |> |manager/src/main/java/org/apache/karaf/springboot/SpringBootApplicati |> |on |> |ManagerService.java#L110 |> | |> |I have to improve this ;) |> | |> |Regards |> |JB |> | |> |On 29/09/2021 17:19, jgfrm wrote: |> |> The following works: |> |> |> |> Karaf.json: |> |> |> |> { |> |>"applications": [ |> |> { |> |>"name": "e3web", |> |>"url": "file:///home/jaap/Karaf5Test/e3web-dev.jar", |> |>"type": "spring-boot", |> |>"properties": { |> |> "enableHttp": true, |> |> "enablePrometheus": true |> |>} |> |> } |> |>] |> |> } |> |> |> |> |> |> Add to Spring boot application: |> |> |> |> @SpringBootApplication |> |> @ComponentScan |> |> public class E3webApplication { |> |> |> |> ... |> |> public static void main(String[] args) { |> |> TomcatURLStreamHandlerFactory.disable(); // see |> |https://github.com/spring-projects/spring-boot/issues/21535 |> |> SpringApplication.run(E3webApplication.class, args); |> |> } |> |> |> |> |> |> Start with |> |> java --add-modules jdk.security.jgss -cp |> |> ../karaf5/assemblies/k4/target/k4-5.0-SNAPSHOT.jar:target/e3web-tes |> |> t-1 |> |> .0-SNAPSHOT.jar:../karaf5/services/spring-boot-application-manager/ |> |> tar get/spring-boot-application-manager-5.0-SNAPSHOT.jar |> |> -Dkaraf.config=src/main/resources/karaf.json |> |> org.apache.karaf.boot.Main |> |> |> |> |-Oorspronkelijk bericht- |> |> |Van: JB Onofré |> |> |Verzonden: dinsdag 28 september 2021 06:34 |> |> |Aan: user@karaf.apache.org |> |> |Onderwerp: Re: Karaf 5 |> |> | |> |> |Hi |> |> | |> |> |No it’s not this because k5 don’t use OSGi for the spring boot |> |> |launcher. I still think it’s a missing add modules as Jvm arg. I |> |> |will check |> |today. |> |> | |> |> |Regards |> |> |JB |> |> | |> |> |> Le 27 sept. 2021 à 23:39, jgfrm a écrit : |> |> |> |> |> |> While Googling, I came across on of your blogs |> |> |(http://nanthrax.blogspot.com/2021/04/whats-new-in-apache-karaf- |> |> |431.html) that one of the changes in Karaf was to export the |> |> |java.* |> |packages. |> |> |Could that be the cause? |> |> |> |> |> |> |-Oorspronkelijk bericht- |> |> |> |Van: Jean-Baptiste Onofre |> |> |> |Verzonden: zondag 26 september 2021 18:02 |> |> |> |Aan: user@karaf.apach
RE: Karaf 5
Perhaps. I want to be able to use a bean in other Spring module. What is also an issue it that two (or more) modules obviously result in two sockets to be opened, in my case both 8400. A solution could be to open a different socket per module, e.g. negotiated with a module for that purpose that also routes traffic for a particular endpoint to the socket of the module handling that endpoint. In https://github.com/hank-cp/sbp (based on pf4j) they have a different strategy; there they have one socket for REST calls, and specific endpoints are forwarded to the appropriate plugin. Best, -- Jaap |-Oorspronkelijk bericht- |Van: JB Onofré |Verzonden: woensdag 29 september 2021 22:17 |Aan: user@karaf.apache.org |Onderwerp: Re: Karaf 5 | |I started a service bridge allowing to implicit push some spring bean to the k5 |registry and so that can be used from other modules running in k5. It’s a local |branch for now but I can push it on main. | |Is it what you are looking for ? | |Regards |JB | |> Le 29 sept. 2021 à 21:43, jgfrm a écrit : |> |> Is there already something working for exporting functionality of a Spring |modules to other modules? |> |> |-Oorspronkelijk bericht- |> |Van: Jean-Baptiste Onofré |> |Verzonden: woensdag 29 september 2021 17:26 |> |Aan: user@karaf.apache.org |> |Onderwerp: Re: Karaf 5 |> | |> |Thanks for the update. |> | |> |I'm happy to say you are the first one to "use/launch" Karaf 5 ;) |> | |> |About the TomcatURLStreamHandlerFactory is known "issue": |> | |> |https://github.com/jbonofre/karaf5/blob/main/services/spring-boot- |> |application- |> |manager/src/main/java/org/apache/karaf/springboot/SpringBootApplicati |> |on |> |ManagerService.java#L110 |> | |> |I have to improve this ;) |> | |> |Regards |> |JB |> | |> |On 29/09/2021 17:19, jgfrm wrote: |> |> The following works: |> |> |> |> Karaf.json: |> |> |> |> { |> |>"applications": [ |> |> { |> |>"name": "e3web", |> |>"url": "file:///home/jaap/Karaf5Test/e3web-dev.jar", |> |>"type": "spring-boot", |> |>"properties": { |> |> "enableHttp": true, |> |> "enablePrometheus": true |> |>} |> |> } |> |>] |> |> } |> |> |> |> |> |> Add to Spring boot application: |> |> |> |> @SpringBootApplication |> |> @ComponentScan |> |> public class E3webApplication { |> |> |> |> ... |> |> public static void main(String[] args) { |> |> TomcatURLStreamHandlerFactory.disable(); // see |> |https://github.com/spring-projects/spring-boot/issues/21535 |> |> SpringApplication.run(E3webApplication.class, args); |> |> } |> |> |> |> |> |> Start with |> |> java --add-modules jdk.security.jgss -cp |> |> ../karaf5/assemblies/k4/target/k4-5.0-SNAPSHOT.jar:target/e3web-tes |> |> t-1 |> |> .0-SNAPSHOT.jar:../karaf5/services/spring-boot-application-manager/ |> |> tar get/spring-boot-application-manager-5.0-SNAPSHOT.jar |> |> -Dkaraf.config=src/main/resources/karaf.json |> |> org.apache.karaf.boot.Main |> |> |> |> |-Oorspronkelijk bericht- |> |> |Van: JB Onofré |> |> |Verzonden: dinsdag 28 september 2021 06:34 |> |> |Aan: user@karaf.apache.org |> |> |Onderwerp: Re: Karaf 5 |> |> | |> |> |Hi |> |> | |> |> |No it’s not this because k5 don’t use OSGi for the spring boot |> |> |launcher. I still think it’s a missing add modules as Jvm arg. I |> |> |will check |> |today. |> |> | |> |> |Regards |> |> |JB |> |> | |> |> |> Le 27 sept. 2021 à 23:39, jgfrm a écrit : |> |> |> |> |> |> While Googling, I came across on of your blogs |> |> |(http://nanthrax.blogspot.com/2021/04/whats-new-in-apache-karaf- |> |> |431.html) that one of the changes in Karaf was to export the |> |> |java.* |> |packages. |> |> |Could that be the cause? |> |> |> |> |> |> |-Oorspronkelijk bericht- |> |> |> |Van: Jean-Baptiste Onofre |> |> |> |Verzonden: zondag 26 september 2021 18:02 |> |> |> |Aan: user@karaf.apache.org |> |> |> |Onderwerp: Re: Karaf 5 |> |> |> | |> |> |> |Hi |> |> |> | |> |> |> |No sure, it’s only class loader issue. I remember this issue in |> |> |> |pure spring boot with JDK11. |> |> |> | |> |> |> |Let me check. |> |> |> | |> |> |> |Regards |> |> |> |JB |> |> |> | |> |>
Re: Karaf 5
I started a service bridge allowing to implicit push some spring bean to the k5 registry and so that can be used from other modules running in k5. It’s a local branch for now but I can push it on main. Is it what you are looking for ? Regards JB > Le 29 sept. 2021 à 21:43, jgfrm a écrit : > > Is there already something working for exporting functionality of a Spring > modules to other modules? > > |-Oorspronkelijk bericht- > |Van: Jean-Baptiste Onofré > |Verzonden: woensdag 29 september 2021 17:26 > |Aan: user@karaf.apache.org > |Onderwerp: Re: Karaf 5 > | > |Thanks for the update. > | > |I'm happy to say you are the first one to "use/launch" Karaf 5 ;) > | > |About the TomcatURLStreamHandlerFactory is known "issue": > | > |https://github.com/jbonofre/karaf5/blob/main/services/spring-boot- > |application- > |manager/src/main/java/org/apache/karaf/springboot/SpringBootApplication > |ManagerService.java#L110 > | > |I have to improve this ;) > | > |Regards > |JB > | > |On 29/09/2021 17:19, jgfrm wrote: > |> The following works: > |> > |> Karaf.json: > |> > |> { > |>"applications": [ > |> { > |>"name": "e3web", > |>"url": "file:///home/jaap/Karaf5Test/e3web-dev.jar", > |>"type": "spring-boot", > |>"properties": { > |> "enableHttp": true, > |> "enablePrometheus": true > |>} > |> } > |>] > |> } > |> > |> > |> Add to Spring boot application: > |> > |> @SpringBootApplication > |> @ComponentScan > |> public class E3webApplication { > |> > |> ... > |> public static void main(String[] args) { > |> TomcatURLStreamHandlerFactory.disable(); // see > |https://github.com/spring-projects/spring-boot/issues/21535 > |> SpringApplication.run(E3webApplication.class, args); > |> } > |> > |> > |> Start with > |> java --add-modules jdk.security.jgss -cp > |> ../karaf5/assemblies/k4/target/k4-5.0-SNAPSHOT.jar:target/e3web-test-1 > |> .0-SNAPSHOT.jar:../karaf5/services/spring-boot-application-manager/tar > |> get/spring-boot-application-manager-5.0-SNAPSHOT.jar > |> -Dkaraf.config=src/main/resources/karaf.json > |> org.apache.karaf.boot.Main > |> > |> |-Oorspronkelijk bericht- > |> |Van: JB Onofré > |> |Verzonden: dinsdag 28 september 2021 06:34 > |> |Aan: user@karaf.apache.org > |> |Onderwerp: Re: Karaf 5 > |> | > |> |Hi > |> | > |> |No it’s not this because k5 don’t use OSGi for the spring boot > |> |launcher. I still think it’s a missing add modules as Jvm arg. I will > check > |today. > |> | > |> |Regards > |> |JB > |> | > |> |> Le 27 sept. 2021 à 23:39, jgfrm a écrit : > |> |> > |> |> While Googling, I came across on of your blogs > |> |(http://nanthrax.blogspot.com/2021/04/whats-new-in-apache-karaf- > |> |431.html) that one of the changes in Karaf was to export the java.* > |packages. > |> |Could that be the cause? > |> |> > |> |> |-Oorspronkelijk bericht- > |> |> |Van: Jean-Baptiste Onofre > |> |> |Verzonden: zondag 26 september 2021 18:02 > |> |> |Aan: user@karaf.apache.org > |> |> |Onderwerp: Re: Karaf 5 > |> |> | > |> |> |Hi > |> |> | > |> |> |No sure, it’s only class loader issue. I remember this issue in > |> |> |pure spring boot with JDK11. > |> |> | > |> |> |Let me check. > |> |> | > |> |> |Regards > |> |> |JB > |> |> | > |> |> |> Le 26 sept. 2021 à 17:59, jgfrm a écrit : > |> |> |> > |> |> |> Hi JB, > |> |> |> > |> |> |> Fully understand that it is still work in progress. > |> |> |> > |> |> |> Regarding the .NoClassDefFoundError: org/ietf/jgss/GSSException > |> |> |> --add-modules java.security.jgss does not solve it? > |> |> |> Is it a class loader problem? > |> |> |> > |> |> |> Best, > |> |> |> > |> |> |> -- Jaap > |> |> |> > |> |> |> > |> |> |> |-Oorspronkelijk bericht- > |> |> |> |Van: Jean-Baptiste Onofre > |> |> |> |Verzonden: zondag 26 september 2021 14:20 > |> |> |> |Aan: user@karaf.apache.org > |> |> |> |Onderwerp: Re: Karaf 5 > |> |> |> | >
RE: Karaf 5
Is there already something working for exporting functionality of a Spring modules to other modules? |-Oorspronkelijk bericht- |Van: Jean-Baptiste Onofré |Verzonden: woensdag 29 september 2021 17:26 |Aan: user@karaf.apache.org |Onderwerp: Re: Karaf 5 | |Thanks for the update. | |I'm happy to say you are the first one to "use/launch" Karaf 5 ;) | |About the TomcatURLStreamHandlerFactory is known "issue": | |https://github.com/jbonofre/karaf5/blob/main/services/spring-boot- |application- |manager/src/main/java/org/apache/karaf/springboot/SpringBootApplication |ManagerService.java#L110 | |I have to improve this ;) | |Regards |JB | |On 29/09/2021 17:19, jgfrm wrote: |> The following works: |> |> Karaf.json: |> |> { |>"applications": [ |> { |>"name": "e3web", |>"url": "file:///home/jaap/Karaf5Test/e3web-dev.jar", |>"type": "spring-boot", |>"properties": { |> "enableHttp": true, |> "enablePrometheus": true |>} |> } |>] |> } |> |> |> Add to Spring boot application: |> |> @SpringBootApplication |> @ComponentScan |> public class E3webApplication { |> |> ... |> public static void main(String[] args) { |> TomcatURLStreamHandlerFactory.disable(); // see |https://github.com/spring-projects/spring-boot/issues/21535 |> SpringApplication.run(E3webApplication.class, args); |> } |> |> |> Start with |> java --add-modules jdk.security.jgss -cp |> ../karaf5/assemblies/k4/target/k4-5.0-SNAPSHOT.jar:target/e3web-test-1 |> .0-SNAPSHOT.jar:../karaf5/services/spring-boot-application-manager/tar |> get/spring-boot-application-manager-5.0-SNAPSHOT.jar |> -Dkaraf.config=src/main/resources/karaf.json |> org.apache.karaf.boot.Main |> |> |-Oorspronkelijk bericht- |> |Van: JB Onofré |> |Verzonden: dinsdag 28 september 2021 06:34 |> |Aan: user@karaf.apache.org |> |Onderwerp: Re: Karaf 5 |> | |> |Hi |> | |> |No it’s not this because k5 don’t use OSGi for the spring boot |> |launcher. I still think it’s a missing add modules as Jvm arg. I will check |today. |> | |> |Regards |> |JB |> | |> |> Le 27 sept. 2021 à 23:39, jgfrm a écrit : |> |> |> |> While Googling, I came across on of your blogs |> |(http://nanthrax.blogspot.com/2021/04/whats-new-in-apache-karaf- |> |431.html) that one of the changes in Karaf was to export the java.* |packages. |> |Could that be the cause? |> |> |> |> |-Oorspronkelijk bericht- |> |> |Van: Jean-Baptiste Onofre |> |> |Verzonden: zondag 26 september 2021 18:02 |> |> |Aan: user@karaf.apache.org |> |> |Onderwerp: Re: Karaf 5 |> |> | |> |> |Hi |> |> | |> |> |No sure, it’s only class loader issue. I remember this issue in |> |> |pure spring boot with JDK11. |> |> | |> |> |Let me check. |> |> | |> |> |Regards |> |> |JB |> |> | |> |> |> Le 26 sept. 2021 à 17:59, jgfrm a écrit : |> |> |> |> |> |> Hi JB, |> |> |> |> |> |> Fully understand that it is still work in progress. |> |> |> |> |> |> Regarding the .NoClassDefFoundError: org/ietf/jgss/GSSException |> |> |> --add-modules java.security.jgss does not solve it? |> |> |> Is it a class loader problem? |> |> |> |> |> |> Best, |> |> |> |> |> |> -- Jaap |> |> |> |> |> |> |> |> |> |-Oorspronkelijk bericht- |> |> |> |Van: Jean-Baptiste Onofre |> |> |> |Verzonden: zondag 26 september 2021 14:20 |> |> |> |Aan: user@karaf.apache.org |> |> |> |Onderwerp: Re: Karaf 5 |> |> |> | |> |> |> |Hi Jaap, |> |> |> | |> |> |> |First, maybe I was not clean in my presentation: Karaf 5 is |> |> |> |still under development and so, everything is not yet ready. |> |> |> |As said, I will “move” the code to Apache Karaf repo as soon as |> |> |> |I consider I have something clean and running. |> |> |> | |> |> |> |Anyway, about your email, I will check. Today my focus is on |> |> |> |the OsgiApplicationManager to be Karaf 4 compliant. |> |> |> |I also have to improve the Karaf Config service. |> |> |> | |> |> |> |By the way, you don’t need your own Main, just use the |> |> |> |repackage with regular provided Main (you can take a look on |> |> |> |the K4 assembly repackage as an example). I will create a |> |> |> |gradle/maven plugin with |> |> |repackage. |> |> |> | |> |> |> |Regard
Re: Karaf 5
Thanks for the update. I'm happy to say you are the first one to "use/launch" Karaf 5 ;) About the TomcatURLStreamHandlerFactory is known "issue": https://github.com/jbonofre/karaf5/blob/main/services/spring-boot-application-manager/src/main/java/org/apache/karaf/springboot/SpringBootApplicationManagerService.java#L110 I have to improve this ;) Regards JB On 29/09/2021 17:19, jgfrm wrote: The following works: Karaf.json: { "applications": [ { "name": "e3web", "url": "file:///home/jaap/Karaf5Test/e3web-dev.jar", "type": "spring-boot", "properties": { "enableHttp": true, "enablePrometheus": true } } ] } Add to Spring boot application: @SpringBootApplication @ComponentScan public class E3webApplication { ... public static void main(String[] args) { TomcatURLStreamHandlerFactory.disable(); // see https://github.com/spring-projects/spring-boot/issues/21535 SpringApplication.run(E3webApplication.class, args); } Start with java --add-modules jdk.security.jgss -cp ../karaf5/assemblies/k4/target/k4-5.0-SNAPSHOT.jar:target/e3web-test-1.0-SNAPSHOT.jar:../karaf5/services/spring-boot-application-manager/target/spring-boot-application-manager-5.0-SNAPSHOT.jar -Dkaraf.config=src/main/resources/karaf.json org.apache.karaf.boot.Main |-Oorspronkelijk bericht- |Van: JB Onofré |Verzonden: dinsdag 28 september 2021 06:34 |Aan: user@karaf.apache.org |Onderwerp: Re: Karaf 5 | |Hi | |No it’s not this because k5 don’t use OSGi for the spring boot launcher. I still |think it’s a missing add modules as Jvm arg. I will check today. | |Regards |JB | |> Le 27 sept. 2021 à 23:39, jgfrm a écrit : |> |> While Googling, I came across on of your blogs |(http://nanthrax.blogspot.com/2021/04/whats-new-in-apache-karaf- |431.html) that one of the changes in Karaf was to export the java.* packages. |Could that be the cause? |> |> |-Oorspronkelijk bericht- |> |Van: Jean-Baptiste Onofre |> |Verzonden: zondag 26 september 2021 18:02 |> |Aan: user@karaf.apache.org |> |Onderwerp: Re: Karaf 5 |> | |> |Hi |> | |> |No sure, it’s only class loader issue. I remember this issue in pure |> |spring boot with JDK11. |> | |> |Let me check. |> | |> |Regards |> |JB |> | |> |> Le 26 sept. 2021 à 17:59, jgfrm a écrit : |> |> |> |> Hi JB, |> |> |> |> Fully understand that it is still work in progress. |> |> |> |> Regarding the .NoClassDefFoundError: org/ietf/jgss/GSSException |> |> --add-modules java.security.jgss does not solve it? |> |> Is it a class loader problem? |> |> |> |> Best, |> |> |> |> -- Jaap |> |> |> |> |> |> |-Oorspronkelijk bericht- |> |> |Van: Jean-Baptiste Onofre |> |> |Verzonden: zondag 26 september 2021 14:20 |> |> |Aan: user@karaf.apache.org |> |> |Onderwerp: Re: Karaf 5 |> |> | |> |> |Hi Jaap, |> |> | |> |> |First, maybe I was not clean in my presentation: Karaf 5 is still |> |> |under development and so, everything is not yet ready. |> |> |As said, I will “move” the code to Apache Karaf repo as soon as I |> |> |consider I have something clean and running. |> |> | |> |> |Anyway, about your email, I will check. Today my focus is on the |> |> |OsgiApplicationManager to be Karaf 4 compliant. |> |> |I also have to improve the Karaf Config service. |> |> | |> |> |By the way, you don’t need your own Main, just use the repackage |> |> |with regular provided Main (you can take a look on the K4 assembly |> |> |repackage as an example). I will create a gradle/maven plugin with |> |repackage. |> |> | |> |> |Regarding your issue, as you are running with JDK11, I guess you |> |> |have to add -- add-modules java.security.jgss to avoid the |> |NoClassDefFoundException. |> |> | |> |> |Thanks anyway for your feedback, much appreciated. |> |> | |> |> |Regards |> |> |JB |> |> | |> |> |> Le 26 sept. 2021 à 12:00, jgfrm a écrit : |> |> |> |> |> |> Hi Jean-Baptiste, |> |> |> |> |> |> I managed to start (well not completely) my spring application. |> |> |> However, while starting up, I get an exception: |> |> |> |> |> |> 11:43:03.148 [main] ERROR o.s.boot.SpringApplication:837 - |> |> |> Application run failed |> |> |> org.springframework.context.ApplicationContextException: Unable |> |> |> to start web server; nested exception is |java.lang.NoClassDefFoundError: |> |> |> org/ietf/jgss/GSSException |> |> |> |
RE: Karaf 5
The following works: Karaf.json: { "applications": [ { "name": "e3web", "url": "file:///home/jaap/Karaf5Test/e3web-dev.jar", "type": "spring-boot", "properties": { "enableHttp": true, "enablePrometheus": true } } ] } Add to Spring boot application: @SpringBootApplication @ComponentScan public class E3webApplication { ... public static void main(String[] args) { TomcatURLStreamHandlerFactory.disable(); // see https://github.com/spring-projects/spring-boot/issues/21535 SpringApplication.run(E3webApplication.class, args); } Start with java --add-modules jdk.security.jgss -cp ../karaf5/assemblies/k4/target/k4-5.0-SNAPSHOT.jar:target/e3web-test-1.0-SNAPSHOT.jar:../karaf5/services/spring-boot-application-manager/target/spring-boot-application-manager-5.0-SNAPSHOT.jar -Dkaraf.config=src/main/resources/karaf.json org.apache.karaf.boot.Main |-Oorspronkelijk bericht- |Van: JB Onofré |Verzonden: dinsdag 28 september 2021 06:34 |Aan: user@karaf.apache.org |Onderwerp: Re: Karaf 5 | |Hi | |No it’s not this because k5 don’t use OSGi for the spring boot launcher. I still |think it’s a missing add modules as Jvm arg. I will check today. | |Regards |JB | |> Le 27 sept. 2021 à 23:39, jgfrm a écrit : |> |> While Googling, I came across on of your blogs |(http://nanthrax.blogspot.com/2021/04/whats-new-in-apache-karaf- |431.html) that one of the changes in Karaf was to export the java.* packages. |Could that be the cause? |> |> |-Oorspronkelijk bericht- |> |Van: Jean-Baptiste Onofre |> |Verzonden: zondag 26 september 2021 18:02 |> |Aan: user@karaf.apache.org |> |Onderwerp: Re: Karaf 5 |> | |> |Hi |> | |> |No sure, it’s only class loader issue. I remember this issue in pure |> |spring boot with JDK11. |> | |> |Let me check. |> | |> |Regards |> |JB |> | |> |> Le 26 sept. 2021 à 17:59, jgfrm a écrit : |> |> |> |> Hi JB, |> |> |> |> Fully understand that it is still work in progress. |> |> |> |> Regarding the .NoClassDefFoundError: org/ietf/jgss/GSSException |> |> --add-modules java.security.jgss does not solve it? |> |> Is it a class loader problem? |> |> |> |> Best, |> |> |> |> -- Jaap |> |> |> |> |> |> |-Oorspronkelijk bericht- |> |> |Van: Jean-Baptiste Onofre |> |> |Verzonden: zondag 26 september 2021 14:20 |> |> |Aan: user@karaf.apache.org |> |> |Onderwerp: Re: Karaf 5 |> |> | |> |> |Hi Jaap, |> |> | |> |> |First, maybe I was not clean in my presentation: Karaf 5 is still |> |> |under development and so, everything is not yet ready. |> |> |As said, I will “move” the code to Apache Karaf repo as soon as I |> |> |consider I have something clean and running. |> |> | |> |> |Anyway, about your email, I will check. Today my focus is on the |> |> |OsgiApplicationManager to be Karaf 4 compliant. |> |> |I also have to improve the Karaf Config service. |> |> | |> |> |By the way, you don’t need your own Main, just use the repackage |> |> |with regular provided Main (you can take a look on the K4 assembly |> |> |repackage as an example). I will create a gradle/maven plugin with |> |repackage. |> |> | |> |> |Regarding your issue, as you are running with JDK11, I guess you |> |> |have to add -- add-modules java.security.jgss to avoid the |> |NoClassDefFoundException. |> |> | |> |> |Thanks anyway for your feedback, much appreciated. |> |> | |> |> |Regards |> |> |JB |> |> | |> |> |> Le 26 sept. 2021 à 12:00, jgfrm a écrit : |> |> |> |> |> |> Hi Jean-Baptiste, |> |> |> |> |> |> I managed to start (well not completely) my spring application. |> |> |> However, while starting up, I get an exception: |> |> |> |> |> |> 11:43:03.148 [main] ERROR o.s.boot.SpringApplication:837 - |> |> |> Application run failed |> |> |> org.springframework.context.ApplicationContextException: Unable |> |> |> to start web server; nested exception is |java.lang.NoClassDefFoundError: |> |> |> org/ietf/jgss/GSSException |> |> |> |> |> |> Any ideas? |> |> |> |> |> |> Also, I had to make modifications in |> |> |SpringBootApplicationManagerService/start: |> |> |> |> |> |> try { |> |> |>Thread.currentThread().setContextClassLoader(classLoader); |> |> |>// disable tomcat stream handler |> |> |>/* There is no TomcatURLStreamHandlerFactory in my spring jar |> |> |>
Re: Karaf 5
Hi No it’s not this because k5 don’t use OSGi for the spring boot launcher. I still think it’s a missing add modules as Jvm arg. I will check today. Regards JB > Le 27 sept. 2021 à 23:39, jgfrm a écrit : > > While Googling, I came across on of your blogs > (http://nanthrax.blogspot.com/2021/04/whats-new-in-apache-karaf-431.html) > that one of the changes in Karaf was to export the java.* packages. Could > that be the cause? > > |-Oorspronkelijk bericht- > |Van: Jean-Baptiste Onofre > |Verzonden: zondag 26 september 2021 18:02 > |Aan: user@karaf.apache.org > |Onderwerp: Re: Karaf 5 > | > |Hi > | > |No sure, it’s only class loader issue. I remember this issue in pure spring > boot > |with JDK11. > | > |Let me check. > | > |Regards > |JB > | > |> Le 26 sept. 2021 à 17:59, jgfrm a écrit : > |> > |> Hi JB, > |> > |> Fully understand that it is still work in progress. > |> > |> Regarding the .NoClassDefFoundError: org/ietf/jgss/GSSException > |> --add-modules java.security.jgss does not solve it? > |> Is it a class loader problem? > |> > |> Best, > |> > |> -- Jaap > |> > |> > |> |-Oorspronkelijk bericht- > |> |Van: Jean-Baptiste Onofre > |> |Verzonden: zondag 26 september 2021 14:20 > |> |Aan: user@karaf.apache.org > |> |Onderwerp: Re: Karaf 5 > |> | > |> |Hi Jaap, > |> | > |> |First, maybe I was not clean in my presentation: Karaf 5 is still > |> |under development and so, everything is not yet ready. > |> |As said, I will “move” the code to Apache Karaf repo as soon as I > |> |consider I have something clean and running. > |> | > |> |Anyway, about your email, I will check. Today my focus is on the > |> |OsgiApplicationManager to be Karaf 4 compliant. > |> |I also have to improve the Karaf Config service. > |> | > |> |By the way, you don’t need your own Main, just use the repackage with > |> |regular provided Main (you can take a look on the K4 assembly > |> |repackage as an example). I will create a gradle/maven plugin with > |repackage. > |> | > |> |Regarding your issue, as you are running with JDK11, I guess you have > |> |to add -- add-modules java.security.jgss to avoid the > |NoClassDefFoundException. > |> | > |> |Thanks anyway for your feedback, much appreciated. > |> | > |> |Regards > |> |JB > |> | > |> |> Le 26 sept. 2021 à 12:00, jgfrm a écrit : > |> |> > |> |> Hi Jean-Baptiste, > |> |> > |> |> I managed to start (well not completely) my spring application. > |> |> However, while starting up, I get an exception: > |> |> > |> |> 11:43:03.148 [main] ERROR o.s.boot.SpringApplication:837 - > |> |> Application run failed > |> |> org.springframework.context.ApplicationContextException: Unable to > |> |> start web server; nested exception is java.lang.NoClassDefFoundError: > |> |> org/ietf/jgss/GSSException > |> |> > |> |> Any ideas? > |> |> > |> |> Also, I had to make modifications in > |> |SpringBootApplicationManagerService/start: > |> |> > |> |> try { > |> |>Thread.currentThread().setContextClassLoader(classLoader); > |> |>// disable tomcat stream handler > |> |>/* There is no TomcatURLStreamHandlerFactory in my spring jar > |> |>final Method tomcat = > |> |classLoader.loadClass("org.apache.catalina.webresources.TomcatURLStre > |> |am HandlerFactory").getMethod("disable"); > |> |>if (!tomcat.isBridge()) { > |> |>tomcat.setAccessible(true); > |> |>} > |> |>tomcat.invoke(null, null); > |> |> */ > |> |>// invoke spring boot main > |> |>final Method main = > |> |classLoader.loadClass("org.springframework.boot.loader.JarLauncher"). > |> |getM > |> |ethod("main", String[].class); > |> |>main.setAccessible(true); > |> |>log.info("Call JarLauncher"); > |> |>if (properties.get("args") != null) { > |> |>log.info("Call JarLauncher with args"); > |> |>main.invoke(null, new Object[]{ properties.get("args") > }); > |> |>} else { > |> |>log.info("Call JarLauncher without args"); > |> |>main.invoke(null, new Object[]{new String[0]}); // > |>
RE: Karaf 5
While Googling, I came across on of your blogs (http://nanthrax.blogspot.com/2021/04/whats-new-in-apache-karaf-431.html) that one of the changes in Karaf was to export the java.* packages. Could that be the cause? |-Oorspronkelijk bericht- |Van: Jean-Baptiste Onofre |Verzonden: zondag 26 september 2021 18:02 |Aan: user@karaf.apache.org |Onderwerp: Re: Karaf 5 | |Hi | |No sure, it’s only class loader issue. I remember this issue in pure spring boot |with JDK11. | |Let me check. | |Regards |JB | |> Le 26 sept. 2021 à 17:59, jgfrm a écrit : |> |> Hi JB, |> |> Fully understand that it is still work in progress. |> |> Regarding the .NoClassDefFoundError: org/ietf/jgss/GSSException |> --add-modules java.security.jgss does not solve it? |> Is it a class loader problem? |> |> Best, |> |> -- Jaap |> |> |> |-Oorspronkelijk bericht- |> |Van: Jean-Baptiste Onofre |> |Verzonden: zondag 26 september 2021 14:20 |> |Aan: user@karaf.apache.org |> |Onderwerp: Re: Karaf 5 |> | |> |Hi Jaap, |> | |> |First, maybe I was not clean in my presentation: Karaf 5 is still |> |under development and so, everything is not yet ready. |> |As said, I will “move” the code to Apache Karaf repo as soon as I |> |consider I have something clean and running. |> | |> |Anyway, about your email, I will check. Today my focus is on the |> |OsgiApplicationManager to be Karaf 4 compliant. |> |I also have to improve the Karaf Config service. |> | |> |By the way, you don’t need your own Main, just use the repackage with |> |regular provided Main (you can take a look on the K4 assembly |> |repackage as an example). I will create a gradle/maven plugin with |repackage. |> | |> |Regarding your issue, as you are running with JDK11, I guess you have |> |to add -- add-modules java.security.jgss to avoid the |NoClassDefFoundException. |> | |> |Thanks anyway for your feedback, much appreciated. |> | |> |Regards |> |JB |> | |> |> Le 26 sept. 2021 à 12:00, jgfrm a écrit : |> |> |> |> Hi Jean-Baptiste, |> |> |> |> I managed to start (well not completely) my spring application. |> |> However, while starting up, I get an exception: |> |> |> |> 11:43:03.148 [main] ERROR o.s.boot.SpringApplication:837 - |> |> Application run failed |> |> org.springframework.context.ApplicationContextException: Unable to |> |> start web server; nested exception is java.lang.NoClassDefFoundError: |> |> org/ietf/jgss/GSSException |> |> |> |> Any ideas? |> |> |> |> Also, I had to make modifications in |> |SpringBootApplicationManagerService/start: |> |> |> |> try { |> |>Thread.currentThread().setContextClassLoader(classLoader); |> |>// disable tomcat stream handler |> |>/* There is no TomcatURLStreamHandlerFactory in my spring jar |> |>final Method tomcat = |> |classLoader.loadClass("org.apache.catalina.webresources.TomcatURLStre |> |am HandlerFactory").getMethod("disable"); |> |>if (!tomcat.isBridge()) { |> |>tomcat.setAccessible(true); |> |>} |> |>tomcat.invoke(null, null); |> |> */ |> |>// invoke spring boot main |> |>final Method main = |> |classLoader.loadClass("org.springframework.boot.loader.JarLauncher"). |> |getM |> |ethod("main", String[].class); |> |>main.setAccessible(true); |> |>log.info("Call JarLauncher"); |> |>if (properties.get("args") != null) { |> |>log.info("Call JarLauncher with args"); |> |>main.invoke(null, new Object[]{ properties.get("args") }); |> |>} else { |> |>log.info("Call JarLauncher without args"); |> |>main.invoke(null, new Object[]{new String[0]}); // |> |> the original invoke |> |did not work for me |> |>} |> |>} finally { |> |>Thread.currentThread().setContextClassLoader(original); |> |>} |> |> |> |> Further details: |> |> - openjdk version "11.0.12" 2021-07-20 |> |> - invocation: |> |> java -cp |> |> ../karaf5/assemblies/k4/target/k4-5.0-SNAPSHOT.jar:target/e3web-tes |> |> t-1 |> |> .0-SNAPSHOT.jar:../karaf5/services/spring-boot-application-manager/ |> |> tar get/spring-boot-application-manager-5.0-SNAPSHOT.jar |> |> -Dkaraf.config=src/main/resources/karaf.json Main |> |> |> |> Main.java: |> |> ### |> |> public class Main { |> |>public s
Re: Karaf 5
Hi No sure, it’s only class loader issue. I remember this issue in pure spring boot with JDK11. Let me check. Regards JB > Le 26 sept. 2021 à 17:59, jgfrm a écrit : > > Hi JB, > > Fully understand that it is still work in progress. > > Regarding the .NoClassDefFoundError: org/ietf/jgss/GSSException > --add-modules java.security.jgss does not solve it? > Is it a class loader problem? > > Best, > > -- Jaap > > > |-Oorspronkelijk bericht- > |Van: Jean-Baptiste Onofre > |Verzonden: zondag 26 september 2021 14:20 > |Aan: user@karaf.apache.org > |Onderwerp: Re: Karaf 5 > | > |Hi Jaap, > | > |First, maybe I was not clean in my presentation: Karaf 5 is still under > |development and so, everything is not yet ready. > |As said, I will “move” the code to Apache Karaf repo as soon as I consider I > |have something clean and running. > | > |Anyway, about your email, I will check. Today my focus is on the > |OsgiApplicationManager to be Karaf 4 compliant. > |I also have to improve the Karaf Config service. > | > |By the way, you don’t need your own Main, just use the repackage with > |regular provided Main (you can take a look on the K4 assembly repackage as > |an example). I will create a gradle/maven plugin with repackage. > | > |Regarding your issue, as you are running with JDK11, I guess you have to add > -- > |add-modules java.security.jgss to avoid the NoClassDefFoundException. > | > |Thanks anyway for your feedback, much appreciated. > | > |Regards > |JB > | > |> Le 26 sept. 2021 à 12:00, jgfrm a écrit : > |> > |> Hi Jean-Baptiste, > |> > |> I managed to start (well not completely) my spring application. > |> However, while starting up, I get an exception: > |> > |> 11:43:03.148 [main] ERROR o.s.boot.SpringApplication:837 - Application > |> run failed > |> org.springframework.context.ApplicationContextException: Unable to > |> start web server; nested exception is java.lang.NoClassDefFoundError: > |> org/ietf/jgss/GSSException > |> > |> Any ideas? > |> > |> Also, I had to make modifications in > |SpringBootApplicationManagerService/start: > |> > |> try { > |>Thread.currentThread().setContextClassLoader(classLoader); > |>// disable tomcat stream handler > |>/* There is no TomcatURLStreamHandlerFactory in my spring jar > |>final Method tomcat = > |classLoader.loadClass("org.apache.catalina.webresources.TomcatURLStream > |HandlerFactory").getMethod("disable"); > |>if (!tomcat.isBridge()) { > |>tomcat.setAccessible(true); > |>} > |>tomcat.invoke(null, null); > |> */ > |>// invoke spring boot main > |>final Method main = > |classLoader.loadClass("org.springframework.boot.loader.JarLauncher").getM > |ethod("main", String[].class); > |>main.setAccessible(true); > |>log.info("Call JarLauncher"); > |>if (properties.get("args") != null) { > |>log.info("Call JarLauncher with args"); > |>main.invoke(null, new Object[]{ properties.get("args") }); > |>} else { > |>log.info("Call JarLauncher without args"); > |>main.invoke(null, new Object[]{new String[0]}); // the > original invoke > |did not work for me > |>} > |>} finally { > |>Thread.currentThread().setContextClassLoader(original); > |>} > |> > |> Further details: > |> - openjdk version "11.0.12" 2021-07-20 > |> - invocation: > |> java -cp > |> ../karaf5/assemblies/k4/target/k4-5.0-SNAPSHOT.jar:target/e3web-test-1 > |> .0-SNAPSHOT.jar:../karaf5/services/spring-boot-application-manager/tar > |> get/spring-boot-application-manager-5.0-SNAPSHOT.jar > |> -Dkaraf.config=src/main/resources/karaf.json Main > |> > |> Main.java: > |> ### > |> public class Main { > |>public static void main(String[] args){ > |>System.out.println("Starting Karaf"); > |>Karaf karaf = Karaf.builder().build(); > |>karaf.start(); > |>} > |> } > |> ### > |> > |> Best, > |> > |> -- Jaap > |> > |> |-Oorspronkelijk bericht- > |> |Van: Jean-Baptiste Onofré > |> |Verzonden: vrijdag 24 september 2021 10:34 > |> |Aan: user@karaf.apache.org > |> |Onderwerp: Re: Karaf 5 > |>
RE: Karaf 5
Hi JB, Fully understand that it is still work in progress. Regarding the .NoClassDefFoundError: org/ietf/jgss/GSSException --add-modules java.security.jgss does not solve it? Is it a class loader problem? Best, -- Jaap |-Oorspronkelijk bericht- |Van: Jean-Baptiste Onofre |Verzonden: zondag 26 september 2021 14:20 |Aan: user@karaf.apache.org |Onderwerp: Re: Karaf 5 | |Hi Jaap, | |First, maybe I was not clean in my presentation: Karaf 5 is still under |development and so, everything is not yet ready. |As said, I will “move” the code to Apache Karaf repo as soon as I consider I |have something clean and running. | |Anyway, about your email, I will check. Today my focus is on the |OsgiApplicationManager to be Karaf 4 compliant. |I also have to improve the Karaf Config service. | |By the way, you don’t need your own Main, just use the repackage with |regular provided Main (you can take a look on the K4 assembly repackage as |an example). I will create a gradle/maven plugin with repackage. | |Regarding your issue, as you are running with JDK11, I guess you have to add -- |add-modules java.security.jgss to avoid the NoClassDefFoundException. | |Thanks anyway for your feedback, much appreciated. | |Regards |JB | |> Le 26 sept. 2021 à 12:00, jgfrm a écrit : |> |> Hi Jean-Baptiste, |> |> I managed to start (well not completely) my spring application. |> However, while starting up, I get an exception: |> |> 11:43:03.148 [main] ERROR o.s.boot.SpringApplication:837 - Application |> run failed |> org.springframework.context.ApplicationContextException: Unable to |> start web server; nested exception is java.lang.NoClassDefFoundError: |> org/ietf/jgss/GSSException |> |> Any ideas? |> |> Also, I had to make modifications in |SpringBootApplicationManagerService/start: |> |> try { |>Thread.currentThread().setContextClassLoader(classLoader); |>// disable tomcat stream handler |>/* There is no TomcatURLStreamHandlerFactory in my spring jar |>final Method tomcat = |classLoader.loadClass("org.apache.catalina.webresources.TomcatURLStream |HandlerFactory").getMethod("disable"); |>if (!tomcat.isBridge()) { |>tomcat.setAccessible(true); |>} |>tomcat.invoke(null, null); |> */ |>// invoke spring boot main |>final Method main = |classLoader.loadClass("org.springframework.boot.loader.JarLauncher").getM |ethod("main", String[].class); |>main.setAccessible(true); |>log.info("Call JarLauncher"); |>if (properties.get("args") != null) { |>log.info("Call JarLauncher with args"); |>main.invoke(null, new Object[]{ properties.get("args") }); |>} else { |>log.info("Call JarLauncher without args"); |>main.invoke(null, new Object[]{new String[0]}); // the original invoke |did not work for me |>} |>} finally { |>Thread.currentThread().setContextClassLoader(original); |>} |> |> Further details: |> - openjdk version "11.0.12" 2021-07-20 |> - invocation: |> java -cp |> ../karaf5/assemblies/k4/target/k4-5.0-SNAPSHOT.jar:target/e3web-test-1 |> .0-SNAPSHOT.jar:../karaf5/services/spring-boot-application-manager/tar |> get/spring-boot-application-manager-5.0-SNAPSHOT.jar |> -Dkaraf.config=src/main/resources/karaf.json Main |> |> Main.java: |> ### |> public class Main { |>public static void main(String[] args){ |>System.out.println("Starting Karaf"); |> Karaf karaf = Karaf.builder().build(); |>karaf.start(); |>} |> } |> ### |> |> Best, |> |> -- Jaap |> |> |-Oorspronkelijk bericht- |> |Van: Jean-Baptiste Onofré |> |Verzonden: vrijdag 24 september 2021 10:34 |> |Aan: user@karaf.apache.org |> |Onderwerp: Re: Karaf 5 |> | |> |Hi Jaap, |> | |> |The presentation is available here: |> | |> ||https://docs.google.com/presentation/d/1nDqd4oVbrggTDlwrzWc8zEdahKhc |S |> |VZJjlPk5FPxfBE/edit?usp=sharing |> | |> |Karaf 5 WIP is available here: |> | |> |https://github.com/jbonofre/karaf5 |> | |> |I'm available on Slack or by email if you wanna chat about Karaf5. |> | |> |Regards |> |JB |> | |> |On 24/09/2021 10:06, jgfrm wrote: |> |> Hi, |> |> |> |> I have two questions about Karaf 5: |> |> - is the presentation by Onofre at ApacheConf online somewhere? |> |> - is it possible to explore Karaf 5 (or: what is there right now)? |> |> I am in particular interested in the Spring Boot functionality, as |> |> I have a Spring Boot application that I want to port to Karaf to |> |> support dynamic loading of components. I have found the github repo |> |> of Onofre, but it is unclear to me how e.g. to start Karaf. |> |> |> |> Best, |> |> |> |> -- Jaap |> |> |>
Re: Karaf 5
Hi Jaap, First, maybe I was not clean in my presentation: Karaf 5 is still under development and so, everything is not yet ready. As said, I will “move” the code to Apache Karaf repo as soon as I consider I have something clean and running. Anyway, about your email, I will check. Today my focus is on the OsgiApplicationManager to be Karaf 4 compliant. I also have to improve the Karaf Config service. By the way, you don’t need your own Main, just use the repackage with regular provided Main (you can take a look on the K4 assembly repackage as an example). I will create a gradle/maven plugin with repackage. Regarding your issue, as you are running with JDK11, I guess you have to add --add-modules java.security.jgss to avoid the NoClassDefFoundException. Thanks anyway for your feedback, much appreciated. Regards JB > Le 26 sept. 2021 à 12:00, jgfrm a écrit : > > Hi Jean-Baptiste, > > I managed to start (well not completely) my spring application. > However, while starting up, I get an exception: > > 11:43:03.148 [main] ERROR o.s.boot.SpringApplication:837 - Application run > failed > org.springframework.context.ApplicationContextException: Unable to start web > server; nested exception is java.lang.NoClassDefFoundError: > org/ietf/jgss/GSSException > > Any ideas? > > Also, I had to make modifications in > SpringBootApplicationManagerService/start: > > try { >Thread.currentThread().setContextClassLoader(classLoader); >// disable tomcat stream handler >/* There is no TomcatURLStreamHandlerFactory in my spring jar >final Method tomcat = > classLoader.loadClass("org.apache.catalina.webresources.TomcatURLStreamHandlerFactory").getMethod("disable"); >if (!tomcat.isBridge()) { >tomcat.setAccessible(true); >} >tomcat.invoke(null, null); > */ >// invoke spring boot main >final Method main = > classLoader.loadClass("org.springframework.boot.loader.JarLauncher").getMethod("main", > String[].class); >main.setAccessible(true); >log.info("Call JarLauncher"); >if (properties.get("args") != null) { >log.info("Call JarLauncher with args"); >main.invoke(null, new Object[]{ properties.get("args") }); >} else { >log.info("Call JarLauncher without args"); >main.invoke(null, new Object[]{new String[0]}); // the > original invoke did not work for me >} >} finally { >Thread.currentThread().setContextClassLoader(original); >} > > Further details: > - openjdk version "11.0.12" 2021-07-20 > - invocation: > java -cp > ../karaf5/assemblies/k4/target/k4-5.0-SNAPSHOT.jar:target/e3web-test-1.0-SNAPSHOT.jar:../karaf5/services/spring-boot-application-manager/target/spring-boot-application-manager-5.0-SNAPSHOT.jar > -Dkaraf.config=src/main/resources/karaf.json Main > > Main.java: > ### > public class Main { >public static void main(String[] args){ >System.out.println("Starting Karaf"); >Karaf karaf = Karaf.builder().build(); >karaf.start(); >} > } > ### > > Best, > > -- Jaap > > |-Oorspronkelijk bericht- > |Van: Jean-Baptiste Onofré > |Verzonden: vrijdag 24 september 2021 10:34 > |Aan: user@karaf.apache.org > |Onderwerp: Re: Karaf 5 > | > |Hi Jaap, > | > |The presentation is available here: > | > |https://docs.google.com/presentation/d/1nDqd4oVbrggTDlwrzWc8zEdahKhcS > |VZJjlPk5FPxfBE/edit?usp=sharing > | > |Karaf 5 WIP is available here: > | > |https://github.com/jbonofre/karaf5 > | > |I'm available on Slack or by email if you wanna chat about Karaf5. > | > |Regards > |JB > | > |On 24/09/2021 10:06, jgfrm wrote: > |> Hi, > |> > |> I have two questions about Karaf 5: > |> - is the presentation by Onofre at ApacheConf online somewhere? > |> - is it possible to explore Karaf 5 (or: what is there right now)? I > |> am in particular interested in the Spring Boot functionality, as I > |> have a Spring Boot application that I want to port to Karaf to support > |> dynamic loading of components. I have found the github repo of Onofre, > |> but it is unclear to me how e.g. to start Karaf. > |> > |> Best, > |> > |> -- Jaap > |> >
RE: Karaf 5
Hi Jean-Baptiste, I managed to start (well not completely) my spring application. However, while starting up, I get an exception: 11:43:03.148 [main] ERROR o.s.boot.SpringApplication:837 - Application run failed org.springframework.context.ApplicationContextException: Unable to start web server; nested exception is java.lang.NoClassDefFoundError: org/ietf/jgss/GSSException Any ideas? Also, I had to make modifications in SpringBootApplicationManagerService/start: try { Thread.currentThread().setContextClassLoader(classLoader); // disable tomcat stream handler /* There is no TomcatURLStreamHandlerFactory in my spring jar final Method tomcat = classLoader.loadClass("org.apache.catalina.webresources.TomcatURLStreamHandlerFactory").getMethod("disable"); if (!tomcat.isBridge()) { tomcat.setAccessible(true); } tomcat.invoke(null, null); */ // invoke spring boot main final Method main = classLoader.loadClass("org.springframework.boot.loader.JarLauncher").getMethod("main", String[].class); main.setAccessible(true); log.info("Call JarLauncher"); if (properties.get("args") != null) { log.info("Call JarLauncher with args"); main.invoke(null, new Object[]{ properties.get("args") }); } else { log.info("Call JarLauncher without args"); main.invoke(null, new Object[]{new String[0]}); // the original invoke did not work for me } } finally { Thread.currentThread().setContextClassLoader(original); } Further details: - openjdk version "11.0.12" 2021-07-20 - invocation: java -cp ../karaf5/assemblies/k4/target/k4-5.0-SNAPSHOT.jar:target/e3web-test-1.0-SNAPSHOT.jar:../karaf5/services/spring-boot-application-manager/target/spring-boot-application-manager-5.0-SNAPSHOT.jar -Dkaraf.config=src/main/resources/karaf.json Main Main.java: ### public class Main { public static void main(String[] args){ System.out.println("Starting Karaf"); Karaf karaf = Karaf.builder().build(); karaf.start(); } } ### Best, -- Jaap |-Oorspronkelijk bericht- |Van: Jean-Baptiste Onofré |Verzonden: vrijdag 24 september 2021 10:34 |Aan: user@karaf.apache.org |Onderwerp: Re: Karaf 5 | |Hi Jaap, | |The presentation is available here: | |https://docs.google.com/presentation/d/1nDqd4oVbrggTDlwrzWc8zEdahKhcS |VZJjlPk5FPxfBE/edit?usp=sharing | |Karaf 5 WIP is available here: | |https://github.com/jbonofre/karaf5 | |I'm available on Slack or by email if you wanna chat about Karaf5. | |Regards |JB | |On 24/09/2021 10:06, jgfrm wrote: |> Hi, |> |> I have two questions about Karaf 5: |> - is the presentation by Onofre at ApacheConf online somewhere? |> - is it possible to explore Karaf 5 (or: what is there right now)? I |> am in particular interested in the Spring Boot functionality, as I |> have a Spring Boot application that I want to port to Karaf to support |> dynamic loading of components. I have found the github repo of Onofre, |> but it is unclear to me how e.g. to start Karaf. |> |> Best, |> |> -- Jaap |>
RE: Karaf 5
Excellent, many thanks. I will first view your presentation (couldn't make it when it was presented unfortunately) and I case of questions come back to best. Best, -- Jaa[ |-Oorspronkelijk bericht- |Van: Jean-Baptiste Onofré |Verzonden: vrijdag 24 september 2021 10:34 |Aan: user@karaf.apache.org |Onderwerp: Re: Karaf 5 | |Hi Jaap, | |The presentation is available here: | |https://docs.google.com/presentation/d/1nDqd4oVbrggTDlwrzWc8zEdahKhcS |VZJjlPk5FPxfBE/edit?usp=sharing | |Karaf 5 WIP is available here: | |https://github.com/jbonofre/karaf5 | |I'm available on Slack or by email if you wanna chat about Karaf5. | |Regards |JB | |On 24/09/2021 10:06, jgfrm wrote: |> Hi, |> |> I have two questions about Karaf 5: |> - is the presentation by Onofre at ApacheConf online somewhere? |> - is it possible to explore Karaf 5 (or: what is there right now)? I |> am in particular interested in the Spring Boot functionality, as I |> have a Spring Boot application that I want to port to Karaf to support |> dynamic loading of components. I have found the github repo of Onofre, |> but it is unclear to me how e.g. to start Karaf. |> |> Best, |> |> -- Jaap |>
Re: Karaf 5
Hi Jaap, The presentation is available here: https://docs.google.com/presentation/d/1nDqd4oVbrggTDlwrzWc8zEdahKhcSVZJjlPk5FPxfBE/edit?usp=sharing Karaf 5 WIP is available here: https://github.com/jbonofre/karaf5 I'm available on Slack or by email if you wanna chat about Karaf5. Regards JB On 24/09/2021 10:06, jgfrm wrote: Hi, I have two questions about Karaf 5: - is the presentation by Onofre at ApacheConf online somewhere? - is it possible to explore Karaf 5 (or: what is there right now)? I am in particular interested in the Spring Boot functionality, as I have a Spring Boot application that I want to port to Karaf to support dynamic loading of components. I have found the github repo of Onofre, but it is unclear to me how e.g. to start Karaf. Best, -- Jaap