Hi Matthias, Just an update. We've gone ahead with the "Fragment Host" change in 4.0.26 (GROOVY-11570). This seems to solve problems for some folks.
As you point out, it looks like we have more work to do. We currently have GROOVY-11571 still open, though perhaps a fresh issue would be cleaner. In any case, we'll do some more work and any help you can provide with testing would be greatly appreciated. We can certainly expedite a 4.0.27 release once we have something we are happy with. Cheers, Paul. On Wed, Feb 26, 2025 at 8:30 AM Matthias Leinweber <m.leinwe...@datatactics.de> wrote: > > Hi Paul, > > It appears that if a Fragment has an osgi.serviceloader Capability, the > intention is that the host bundle must have a class that can be service > loaded. The commit at > https://github.com/apache/aries/commit/76f39f2#diff-aed8297fc5209027131b1f54544e00eb7614070832051a29561931ed6b933ab7 > seems relevant. Furthermore, examples of fragments in the Aries repository > appear to confirm this theory. This would imply that, without shading Groovy > into a fat JAR, it won't be possible to get this working. Fat Jar is working, > just tested. Or, another option, moving all services to a separate bundle. > However, I suspect this also won't be feasible for every service. ...Any > suggestions? > > br. > Matthias > > On Tue, 25 Feb 2025 at 22:52, Matthias Leinweber <m.leinwe...@datatactics.de> > wrote: >> >> Hello Paul, >> >> I've conducted further tests. While the FastStringFactor sometimes works >> after multiple application restarts, it's mostly failing. I suspect a >> problem with the mediator components. The service loader specification >> (https://docs.osgi.org/specification/osgi.cmpn/8.0.0/service.loader.html), >> implemented by Aries spifly, should, as I understand it, create an OSGi >> service. However, this service doesn't seem to be getting created. >> Interestingly, this same missing service issue also occurs with Groovy 3.0.x >> bundles. I'm quite confused by this. >> >> But these services are created for version 4.0.25 (without a fragment). I >> assume that SPI Fly only works for started and not for resolved bundles. >> However, this doesn't explain why 3.0.25 is working, nor why it sometimes >> works after multiple restarts. >> >> I will investigate further tomorrow. >> >> On Tue, 25 Feb 2025 at 21:24, Matthias Leinweber >> <m.leinwe...@datatactics.de> wrote: >>> >>> Hi Paul, >>> >>> I've encountered some issues with the FastStringService. I'm getting an >>> "Unable to load FastStringService" error and I'm trying to determine the >>> cause. I vaguely recall having trouble with this class in the past, but I >>> can't remember the specifics. >>> >>> Given these problems, I don't think this is releasable yet. >>> >>> Best regards, >>> Matthias >>> >>> On Mon, 24 Feb 2025 at 20:19, Matthias Leinweber >>> <m.leinwe...@datatactics.de> wrote: >>>> >>>> Did some basic tests. Extensions seem to work and FastString Service too. >>>> >>>> br; >>>> Matthias >>>> >>>> On Fri, 21 Feb 2025 at 23:15, Paul King <pa...@asert.com.au> wrote: >>>>> >>>>> There should be 4.0.26-SNAPSHOT and 5.0.0-SNAPSHOT versions in the >>>>> snapshot repo: >>>>> >>>>> https://repository.apache.org/content/repositories/snapshots/org/apache/groovy >>>>> >>>>> On Fri, Feb 21, 2025 at 10:30 PM Matthias Leinweber >>>>> <m.leinwe...@datatactics.de> wrote: >>>>> > >>>>> > Hi Paul, >>>>> > >>>>> > could you assist with the maven repo containing the snapshots or do i >>>>> > have to build myself? >>>>> > >>>>> > br: >>>>> > Mathtias >>>>> > >>>>> > >>>>> > On Thu, 20 Feb 2025 at 11:40, Paul King <pa...@asert.com.au> wrote: >>>>> >> >>>>> >> I have pushed a fix. Once CI has finished building snapshots, if you >>>>> >> can check against those, that would be great. >>>>> >> >>>>> >> Cheers, Paul. >>>>> >> P.S. Feel free to comment further in that issue instead of here if you >>>>> >> want. >>>>> >> >>>>> >> On Thu, Feb 20, 2025 at 8:32 PM Paul King <pa...@asert.com.au> wrote: >>>>> >> > >>>>> >> > I created this issue to track changing this for Groovy 4/5: >>>>> >> > >>>>> >> > https://issues.apache.org/jira/browse/GROOVY-11570 >>>>> >> > >>>>> >> > On Wed, Feb 12, 2025 at 11:14 PM Paul King <pa...@asert.com.au> >>>>> >> > wrote: >>>>> >> > > >>>>> >> > > I think we should add the FragmentHost stuff back in and get a >>>>> >> > > release >>>>> >> > > out in the next few weeks. >>>>> >> > > >>>>> >> > > On Tue, Feb 11, 2025 at 2:05 AM Matthias Leinweber >>>>> >> > > <m.leinwe...@datatactics.de> wrote: >>>>> >> > > > >>>>> >> > > > I am not sure if someone ever tested this... Documentation says >>>>> >> > > > to get groovy extensions working is that the extension must be >>>>> >> > > > in the same class path (class loader). >>>>> >> > > > >>>>> >> > > > Maybe I am wrong but so fragment host (terrible name imho) is >>>>> >> > > > the only solution. Or shading a new jar could do the same trick. >>>>> >> > > > >>>>> >> > > > What do you think? >>>>> >> > > > >>>>> >> > > > Br >>>>> >> > > > >>>>> >> > > > Paul King <pa...@asert.com.au> schrieb am Mo., 10. Feb. 2025, >>>>> >> > > > 14:25: >>>>> >> > > >> >>>>> >> > > >> In the following issue we were not certain of the need for >>>>> >> > > >> Fragment-Host in Groovy 4: >>>>> >> > > >> >>>>> >> > > >> https://issues.apache.org/jira/browse/GROOVY-9402 >>>>> >> > > >> >>>>> >> > > >> It could well be that it is needed. >>>>> >> > > >> >>>>> >> > > >> Cheers, Paul. >>>>> >> > > >> >>>>> >> > > >> On Mon, Feb 10, 2025 at 10:00 PM Matthias Leinweber >>>>> >> > > >> <m.leinwe...@datatactics.de> wrote: >>>>> >> > > >> > >>>>> >> > > >> > Hi together, >>>>> >> > > >> > >>>>> >> > > >> > I am using groovy alot in an osgi container with camel >>>>> >> > > >> > (currently karaf.4.7.7 camel 4.9.1 and groovy 4.0.25) >>>>> >> > > >> > >>>>> >> > > >> > Somehow the dateutils overload for the date class seems not >>>>> >> > > >> > to work anymore. In groovy 3.0.9 the bundle was a fragment >>>>> >> > > >> > host and working.... Do I need to do something extra with >>>>> >> > > >> > groovy 4? >>>>> >> > > >> > >>>>> >> > > >> > Br Matthias >>>>> > >>>>> > >>>>> > >>>>> > >>>> >>>> >>>> >>> >>> >> >> > >