-
Notifications
You must be signed in to change notification settings - Fork 170
Open
Description
Description
Unfortunately we have two CommandRunner interfaces, each has just single implementation:
public class CommandExecutorImpl implements org.glassfish.embeddable.CommandRunnerin admin-clipublic class CommandRunnerImpl implements org.glassfish.api.admin.CommandRunner<AdminCommandJob>in glassfish-api
I guess embedded could use the second one directly, however the glassfish-api is not on the classpath of glassfish-osgi-bootstrap (where is the AutoDisposableGlassFish class). So there will be more work, perhaps it would make sense to merge those two interfaces and create new implementation for embedded?
Noticed in ejb_group_embedded test execution log:
runclient-own:
[java] .......... Testing module: ejb-ejb32-embedded-autoclose-ejb
[java] Sep 17, 2025 12:18:11 AM jakarta.enterprise.system.container.ejb.org.glassfish.ejb.embedded
[java] INFO: [EJBContainerProviderImpl] Using installation location /home/dmatej/work/repo/git/glassfish-gama/target/glassfish7/glassfish
[java] Sep 17, 2025 12:18:11 AM jakarta.enterprise.system.container.ejb.org.glassfish.ejb.embedded
[java] INFO: [EJBContainerProviderImpl] Using config file location: file:/tmp/domain6865137631054793019xml
[java] Sep 17, 2025 12:18:11 AM jakarta.enterprise.system.container.ejb.org.glassfish.ejb.embedded
[java] INFO: [EJBContainerProviderImpl] Using runtime class: class org.glassfish.main.boot.embedded.EmbeddedGlassFishRuntime
[java] ERROR calling EJB:Sep 17, 2025 12:18:12 AM com.sun.enterprise.v3.server.CommonClassLoaderServiceImpl findDerbyJars
[java]
[java] Generating report at /home/dmatej/work/repo/git/glassfish-gama/appserver/tests/appserv-tests/test_results.xmlINFO: Cannot find javadb client jar file, derby jdbc driver will not be available by default: DerbyDB home is not set.
[java] Reporter exception occurred!
[java] in flushAll , creating new testSuiteHash
[java]
[java] Sep 17, 2025 12:18:12 AM com.sun.enterprise.v3.server.SystemTasksImpl postConstruct
[java] INFO: Loaded server named: server
[java] jakarta.ejb.EJBException: org.glassfish.embeddable.GlassFishException: java.lang.NullPointerException: Cannot invoke "org.glassfish.embeddable.CommandRunner.run(String, String[])" because "commandRunner" is null
[java] at org.glassfish.ejb.embedded.EJBContainerProviderImpl.createContainer(EJBContainerProviderImpl.java:231)
[java] at org.glassfish.ejb.embedded.EJBContainerProviderImpl.createEJBContainer(EJBContainerProviderImpl.java:120)
[java] at jakarta.ejb.embeddable.EJBContainer.createEJBContainer(EJBContainer.java:91)
[java] at jakarta.ejb.embeddable.EJBContainer.createEJBContainer(EJBContainer.java:71)
[java] at com.acme.Client.test(Client.java:56)
[java] at com.acme.Client.main(Client.java:43)
[java] Caused by: org.glassfish.embeddable.GlassFishException: java.lang.NullPointerException: Cannot invoke "org.glassfish.embeddable.CommandRunner.run(String, String[])" because "commandRunner" is null
[java] at org.glassfish.main.boot.embedded.EmbeddedGlassFishRuntime.newGlassFish(EmbeddedGlassFishRuntime.java:110)
[java] at org.glassfish.ejb.embedded.EJBContainerProviderImpl.createContainer(EJBContainerProviderImpl.java:198)
[java] ... 5 more
[java] Caused by: java.lang.NullPointerException: Cannot invoke "org.glassfish.embeddable.CommandRunner.run(String, String[])" because "commandRunner" is null
[java] at org.glassfish.main.boot.embedded.AutoDisposableGlassFish.<init>(AutoDisposableGlassFish.java:77)
[java] at org.glassfish.main.boot.embedded.EmbeddedGlassFishRuntime.newGlassFish(EmbeddedGlassFishRuntime.java:103)
[java] ... 6 more
[java] java.lang.IndexOutOfBoundsException: Index 0 out of bounds for length 0
[java] at java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:64)
[java] at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Preconditions.java:70)
[java] at java.base/jdk.internal.util.Preconditions.checkIndex(Preconditions.java:266)
[java] at java.base/java.util.Objects.checkIndex(Objects.java:361)
[java] at java.base/java.util.ArrayList.get(ArrayList.java:427)
[java] at com.acme.Client.test(Client.java:67)
[java] at com.acme.Client.main(Client.java:43)
[java] java.lang.NullPointerException: Cannot invoke "String.trim()" because "id" is null
[java] at com.sun.ejte.ccl.reporter.Reporter.setTestSuite(Reporter.java:68)
[java] at com.sun.ejte.ccl.reporter.SimpleReporterAdapter.printStatus(SimpleReporterAdapter.java:130)
[java] at com.sun.ejte.ccl.reporter.SimpleReporterAdapter.printSummary(SimpleReporterAdapter.java:188)
[java] at com.acme.Client.main(Client.java:47)
Based on my paper, this test never succeeded since GlassFish6, maybe it did long before.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels