You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@groovy.apache.org by "Paul King (Jira)" <ji...@apache.org> on 2025/03/03 00:49:00 UTC

[jira] [Created] (GROOVY-11578) Services loaded via the service loader not working in (some) OSGi contexts for Groovy 4+

Paul King created GROOVY-11578:
----------------------------------

             Summary: 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


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)