[ https://issues.apache.org/jira/browse/GROOVY-11578?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17935202#comment-17935202 ]
Roy Teeuwen commented on GROOVY-11578: -------------------------------------- [~paulk] any update on this one? I guess you will need to switch back from OSGi Fragments to Bundles so that the service loader at least work in most cases (except in race conditions like mentioned in this ticket)? I'll see if I can fork the groovy-json locally so that I can already return the default string service for now because that one is causing major issues at our sides > Services loaded via the service loader not working in (some) OSGi contexts > for Groovy 4+ > ---------------------------------------------------------------------------------------- > > Key: GROOVY-11578 > URL: https://issues.apache.org/jira/browse/GROOVY-11578 > Project: Groovy > Issue Type: Bug > Affects Versions: 4.0.26 > Reporter: Paul King > Assignee: Paul King > Priority: Major > Attachments: groovy-json-example.zip > > > This is related to GROOVY-11570 and GROOVY-11571 but it seems worthwhile > having an issue that is just about getting the services working again. > Current steps to reproduce: > * clone the apache/karaf repo > * change groovy versions: codehaus=>apache, 3.0.24=>4.0.26 > * add an additional test to GroovyTest (see below) to exercise service loader > related functionality > * run "mvn test" in the itests directory > Additional test: > {code} > @Test > public void testExecGroovyJsonCommand() throws Exception { > String resultNoArgs = executeCommand("groovy:exec \"" > + "import org.apache.groovy.json.internal.FastStringUtils\n" > + "println FastStringUtils.toCharArray('result') == > 'result'.toCharArray()\""); > assertContains("true", resultNoArgs); > } > {code} > Result: > {noformat} > <system-err><![CDATA[groovy:exec "import > org.apache.groovy.json.internal.FastStringUtils > println FastStringUtils.toCharArray('result') == 'result'.toCharArray()" > java.lang.RuntimeException: Unable to load FastStringService > at > org.apache.karaf.itests.KarafTestSupport.executeCommand(KarafTestSupport.java:444) > at > org.apache.karaf.itests.KarafTestSupport.executeCommand(KarafTestSupport.java:358) > at > org.apache.karaf.itests.KarafTestSupport.executeCommand(KarafTestSupport.java:345) > at > org.apache.karaf.itests.GroovyTest.testExecGroovyJsonCommand(GroovyTest.java:54) > ... > at > org.ops4j.pax.exam.invoker.junit.internal.ContainerTestRunner.runChild(ContainerTestRunner.java:43) > ... > Caused by: java.lang.RuntimeException: Unable to load FastStringService > at > org.apache.groovy.json.internal.FastStringUtils.getService(FastStringUtils.java:56) > ... > {noformat} -- This message was sent by Atlassian Jira (v8.20.10#820010)