Hi,

The FastString Service is indeed listed as exposed by groovy-json:

[org.apache.groovy.json.FastStringServiceFactory]
.org.apache.aries.spifly.provider.discovery.modeSERVICELOADER_CAPABILITIES
.org.apache.aries.spifly.provider.implclassorg.apache.groovy.json.DefaultFastStringServiceFactory
service.bundleid635
service.scopebundle
serviceloader.mediator

And this is the groovy-json info:

Exported Packages
groovy.json,version=4.0.13
org.apache.groovy.json,version=4.0.13
org.apache.groovy.json.internal,version=4.0.13

Imported Packages
groovy.io,version=4.0.13 from groovy (634)
groovy.lang,version=4.0.13 from groovy (634)
groovy.transform,version=4.0.13 from groovy (634)
groovy.transform.stc,version=4.0.13 from groovy (634)
groovy.util,version=4.0.13 from groovy (634)
org.apache.groovy.internal.util,version=4.0.13 from groovy (634)
org.apache.groovy.io,version=4.0.13 from groovy (634)
org.codehaus.groovy.reflection,version=4.0.13 from groovy (634)
org.codehaus.groovy.runtime,version=4.0.13 from groovy (634)
org.codehaus.groovy.runtime.memoize,version=4.0.13 from groovy (634)

Importing Bundles
io.rest-assured (642)
io.rest-assured.json-path (644)

Service
ID 675Types: org.apache.groovy.json.FastStringServiceFactory


Kind regards,
Steven

On Tue, Jan 21, 2025 at 7:36 PM Ephemeris Lappis
<ephemeris.lap...@gmail.com> wrote:
>
> Hello Steven.
>
> In fact, our software stack has been defined quite a long time ago, and we're 
> just testing (trying to test in reality) some failing cases. This is why 
> we're still using Camel 3.22.1 and Groovy 3.0.19.
>
> Groovy JSON was not a requirement for our applications and is not included in 
> our Karaf features.
>
> I'm just trying to deploy some temporary "single use" bundles with some 
> groovy code to analyze and detect possible ActiveMQ messages delivery issues.
>
> I'm not sure to understand the actual role of "spifly" that you also include 
> in your feature. On my side, I've tried installing the built-in Karaf feature 
> that provides the version 1.3.6. But it has no effect on the groovy-json 
> bundle that seems to require more : its single bundle is started but it 
> doesn't intercept the groovy json bundle requirements to create the service.
>
> I've read the bundle's manifest, but I'm sincerely unable to explain what's 
> mssing to provide its requirements. The bundle indeed needs some 
> ServiceLoader to create and expose for its own usage the "Fast String" 
> service factory that is defined as a common Java SPI (that is not properly 
> handled in an OSGi context).
>
> We've no other bundles in such a case...
>
> On your side, could you verify that the Fast String service appears in the 
> OSGi services as expected with some properties provided by spifly ?
>
> Thanks again.
>
> Le mar. 21 janv. 2025 à 18:16, Steven Huypens <steven.huyp...@gmail.com> a 
> écrit :
>>
>> Hi,
>>
>> Any reason why you are using Groovy 3.x instead of 4.x ?
>>
>> I needed Groovy to be able to use Rest Assured in my Pax Exam Tests
>> and this is my feature, which is working for me
>>
>> <feature name="myFeature" version="x.y.z">
>>     <feature prerequisite="true">wrap</feature>
>>     <bundle>mvn:a.b.io.rest-assured/common-fragment/1.0.2</bundle>
>> (just a simple fragment bundle to fix a Rest Assured issue)
>>     <bundle>mvn:io.rest-assured/json-path/5.5.0</bundle>
>>     <bundle>mvn:io.rest-assured/xml-path/5.5.0</bundle>
>>     <bundle>mvn:io.rest-assured/rest-assured/5.5.0</bundle>
>>     <bundle>mvn:io.rest-assured/rest-assured-common/5.5.0</bundle>
>>     
>> <bundle>mvn:org.apache.aries.spifly/org.apache.aries.spifly.dynamic.bundle/1.3.4</bundle>
>>     <bundle>mvn:org.apache.groovy/groovy-json/4.0.13</bundle>
>>     <bundle>mvn:org.apache.groovy/groovy-xml/4.0.13</bundle>
>>     <bundle>mvn:org.apache.groovy/groovy/4.0.13</bundle>
>>     <bundle>wrap:mvn:org.ccil.cowan.tagsoup/tagsoup/1.2.1</bundle>
>> </feature>
>>
>>
>> Kind regards,
>> Steven
>>
>> On Tue, Jan 21, 2025 at 5:49 PM Ephemeris Lappis
>> <ephemeris.lap...@gmail.com> wrote:
>> >
>> > Hello again !
>> >
>> > I've been looking for solutions, but I didn't find anything that works...
>> >
>> > I've tried installing the feature "spifly" that, if I'm not mistaken, 
>> > should support the ServiceLoader that's needed for groovy-json Fast String 
>> > service.
>> > But the groovy json bundle still refuses to resolve :(
>> >
>> > No more ideas at this time. Waiting for any help.
>> >
>> > Thanks again.
>> >
>> > Le mar. 21 janv. 2025 à 09:08, Ephemeris Lappis 
>> > <ephemeris.lap...@gmail.com> a écrit :
>> >>
>> >> Hello.
>> >>
>> >> I'm trying to install groovy-json for some Camel tests on a Karaf that 
>> >> already has Groovy features installed and working.
>> >>
>> >> karaf@root()> la | grep groovy
>> >> 236 | Active    |  50 | 3.22.1             | camel-groovy
>> >> 248 | Resolved  |  80 | 3.0.19             | groovy-dateutil, Hosts: 233
>> >> 249 | Resolved  |  80 | 3.0.19             | groovy-xml, Hosts: 233
>> >> 275 | Installed |  80 | 3.0.19             | groovy-json
>> >>
>> >> As you can see the groovy-json is in "Installed" state. The diag command 
>> >> gives missing requirements that I don't understand.
>> >>
>> >> diag 275
>> >> groovy-json (275)
>> >> -----------------
>> >> Status: Installed
>> >> Unsatisfied Requirements:
>> >> [groovy-json [275](R 275.1)] osgi.wiring.package; 
>> >> (&(osgi.wiring.package=groovy.json)(version>=3.0.0)(!(version>=4.0.0)))
>> >> [groovy-json [275](R 275.1)] osgi.wiring.package; 
>> >> (&(osgi.wiring.package=org.apache.groovy.json)(version>=3.0.0)(!(version>=4.0.0)))
>> >> [groovy-json [275](R 275.1)] osgi.wiring.package; 
>> >> (&(osgi.wiring.package=org.apache.groovy.json.internal)(version>=3.0.0)(!(version>=4.0.0)))
>> >> [groovy-json [275](R 275.1)] osgi.extender; 
>> >> (osgi.extender=osgi.serviceloader.registrar)
>> >> [groovy-json [275](R 275.1)] osgi.extender; 
>> >> (osgi.extender=osgi.serviceloader.processor)
>> >> [groovy-json [275](R 275.1)] osgi.serviceloader; 
>> >> (osgi.serviceloader=org.apache.groovy.json.FastStringServiceFactory)
>> >>
>> >> The missing packages are exported and imported by the bundle itself :
>> >>
>> >> Export-Package =
>> >>         groovy.json;
>> >>                 uses:="groovy.io,
>> >>                         groovy.lang,
>> >>                         groovy.transform.stc,
>> >>                         groovy.util,
>> >>                         org.apache.groovy.json.internal";
>> >>                 version=3.0.19,
>> >>         org.apache.groovy.json;version=3.0.19,
>> >>         org.apache.groovy.json.internal;uses:=groovy.json;version=3.0.19
>> >> Import-Package =
>> >>         groovy.io;resolution:=optional,
>> >>         groovy.json;resolution:=optional;version="[3.0,4)",
>> >>         groovy.lang;resolution:=optional,
>> >>         groovy.transform.stc;resolution:=optional,
>> >>         groovy.util;resolution:=optional,
>> >>         org.apache.groovy.internal.util;resolution:=optional,
>> >>         org.apache.groovy.io;resolution:=optional,
>> >>         org.apache.groovy.json;resolution:=optional;version="[3.0,4)",
>> >>         
>> >> org.apache.groovy.json.internal;resolution:=optional;version="[3.0,4)",
>> >>         org.codehaus.groovy.runtime;resolution:=optional,
>> >>         org.codehaus.groovy.runtime.memoize;resolution:=optional
>> >>
>> >> And I don't understand what are the other missing elements.
>> >>
>> >> Could someone help me, please ?
>> >>
>> >> Thanks in advance.
>> >>
>> >> Regards.
>> >>
>> >>

Reply via email to