I am trying JUnit to test a J2EE web application with NB 7.0, JUnit and the built-in Glassfish server on a Win7Professional machine.
I broke it to just test a simple simple Hello-World web application with a single Bean session.
I have glasfish-embedded-static-shell.jar in my classpath and also tried using the built-in in Glassfish-all-3.1, but it also didn't work.
Now here is the code I use to test the bean:
import javax.ejb.embeddable.EJBContainer; import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.Test; import static org.junit.Assert.*; public class SimpleBeanTest { private static EJBContainer container; public SimpleBeanTest() { } @BeforeClass public static void setUpClass() throws Exception { container = javax.ejb.embeddable.EJBContainer.createEJBContainer(); } @AfterClass public static void tearDownClass() throws Exception { container.close(); } @Test public void testCountToThree() throws Exception { System.out.println("countToThree"); SimpleBean instance = (SimpleBean) container.getContext().lookup("java:global/classes/SimpleBean"); int expResult = 0; int result = instance.countToThree(); assertEquals(expResult, result); } }
And here’s what comes of it:
19.06.2011 09:31:56 com.sun.enterprise.v3.server.CommonClassLoaderServiceImpl findDerbyClient INFO: Cannot find javadb client jar file, derby jdbc driver will not be available by default. 19.06.2011 09:31:56 org.glassfish.flashlight.impl.provider.FlashlightProbeProviderFactory processXMLProbeProviders SCHWERWIEGEND: MNTG0301:Cannot process XML ProbeProvider, xml = META-INF/gfprobe-provider.xml java.lang.IllegalStateException: Provider already mapped glassfish:javamail:smtp-transport (StackTrace here) 19.06.2011 09:31:57 org.glassfish.flashlight.impl.provider.FlashlightProbeProviderFactory processXMLProbeProviders SCHWERWIEGEND: MNTG0301:Cannot process XML ProbeProvider, xml = META-INF/mojarra-jsf-api-probe-provider.xml java.lang.IllegalStateException: Provider already mapped glassfish:jsf:faces-servlet (StackTrace here) 19.06.2011 09:31:57 org.glassfish.flashlight.impl.provider.FlashlightProbeProviderFactory processXMLProbeProviders SCHWERWIEGEND: MNTG0301:Cannot process XML ProbeProvider, xml = jersey-gf-server-probe-provider.xml java.lang.IllegalStateException: Provider already mapped glassfish:jersey:server-hidden (StackTrace here) 19.06.2011 09:31:57 org.glassfish.flashlight.impl.provider.FlashlightProbeProviderFactory processXMLProbeProviders SCHWERWIEGEND: MNTG0301:Cannot process XML ProbeProvider, xml = jersey-gf-statsprovider-probe-provider.xml java.lang.IllegalStateException: Provider already mapped glassfish:jersey:server (StackTrace here) 19.06.2011 09:31:57 org.glassfish.ha.store.spi.BackingStoreFactoryRegistry register INFO: Registered org.glassfish.ha.store.adapter.cache.ShoalBackingStoreProxy for persistence-type = replicated in BackingStoreFactoryRegistry 19.06.2011 09:31:57 org.glassfish.ha.store.spi.BackingStoreFactoryRegistry register INFO: Registered org.glassfish.ha.store.adapter.cache.ShoalBackingStoreProxy for persistence-type = replicated in BackingStoreFactoryRegistry 19.06.2011 09:31:57 com.sun.enterprise.v3.server.AppServerStartup run SCHWERWIEGEND: Startdienst konnte nicht gestartet werden: com.sun.enterprise.naming.GlassFishNamingBuilder 19.06.2011 09:31:57 com.sun.enterprise.v3.server.AppServerStartup run INFO: GlassFish Server Open Source Edition 3.1 (43) Startzeit: Embedded (597ms), Startdienste(929ms), gesamt(1.526ms) 19.06.2011 09:31:57 org.glassfish.admin.mbeanserver.JMXStartupService$JMXConnectorsStarterThread run INFO: JMXStartupService: JMXConnector system is disabled, skipping.
UPDATE: And this is an exception that would be thrown by any test:
No EJBContainer provider available Provider named org.glassfish.ejb.embedded.EJBContainerProviderImpl threw unexpected exception at create EJBContainer: java.lang.RuntimeException java.lang.RuntimeException: java.lang.IllegalStateException: AMX Booter MBean is already registered: amx-support:type=boot-amx at org.glassfish.internal.embedded.Server.<init>(Server.java:290) at org.glassfish.internal.embedded.Server.<init>(Server.java:66) at org.glassfish.internal.embedded.Server$Builder.build(Server.java:176) (Stack Trace here) Caused by: java.lang.IllegalStateException: AMX Booter MBean is already registered: amx-support:type=boot-amx
I re-installed NetBeans twice and it also does not work.
source share