Hi Jérémie,

What Groovy/JDK/container versions are you using? If you are using
Groovy 4.0.x, the fixes in 4.0.26 may help.

There is an open OSGi issue with performance in the title, but I'll
likely close that and create a fresh issue in the next day or two to
better document the remaining gap.

Recent issues:

GROOVY-11570: Groovy 4/5 not working in OSGi container (closed,
FragmentHost fix included on 4.0.26, not applicable to 3.0.x, seems to
help with performance but has functionality issues in some
environments at least)
https://issues.apache.org/jira/browse/GROOVY-11570

GROOVY-11571: Performance problem in Eclipse RCP/OSGi/Equinox
environment (open but maybe fix from GROOVY-11570 is enough for this
issue)
https://issues.apache.org/jira/browse/GROOVY-11571

Paul.



On Fri, Feb 28, 2025 at 9:41 PM Jérémie <jeremie.bre...@gmail.com> wrote:
>
> 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
>> >>>>> >
>> >>>>> >
>> >>>>> >
>> >>>>> >
>> >>>>
>> >>>>
>> >>>>
>> >>>
>> >>>
>> >>
>> >>
>> >
>> >

Reply via email to