Hello, I'm glad to learn that OSGi support in Groovy is being taken seriously 🙂
I myself use Groovy a lot in this context within my system. A problem I often notice today is the compilation performance in this environment. I've been investigating for quite some time, and so far, my main suspect seems to be class resolution and the "buddy" strategy declared in the bundle. Is there currently an open issue regarding this problem? Regards Jérémie Le ven. 28 févr. 2025, 06:35, Paul King <pa...@asert.com.au> a écrit : > 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 > >>>>> > > >>>>> > > >>>>> > > >>>>> > > >>>> > >>>> > >>>> > >>> > >>> > >> > >> > > > > >