Address already in use exception when executing examples (remote JBoss 6)
geuze Feb 1, 2011 3:53 AMDear Arquillian users,
Yesterday I tried to setup my Arquillian environment. However when I tried to run the examples (command: mvn test -Pjbossas-remote-6) I got the following stacktrace. I used the following guide http://docs.jboss.org/arquillian/reference/latest/en-US/html/examples.html to setup my environment.
-------------------------------------------------------------------------------
Test set: com.acme.cdi.InjectionTestCase
-------------------------------------------------------------------------------
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.125 sec <<< FAILURE!
initializationError(com.acme.cdi.InjectionTestCase) Time elapsed: 0 sec <<< ERROR!
org.jboss.arquillian.impl.event.FiredEventException: org.jboss.arquillian.spi.LifecycleException: Could not connect to container
at org.jboss.arquillian.impl.event.MapEventManager.fire(MapEventManager.java:68)
at org.jboss.arquillian.impl.context.AbstractEventContext.fire(AbstractEventContext.java:115)
at org.jboss.arquillian.impl.EventTestRunnerAdaptor.beforeSuite(EventTestRunnerAdaptor.java:68)
at org.jboss.arquillian.junit.Arquillian.<init>(Arquillian.java:89)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at org.junit.internal.builders.AnnotatedBuilder.buildRunner(AnnotatedBuilder.java:31)
at org.junit.internal.builders.AnnotatedBuilder.runnerForClass(AnnotatedBuilder.java:24)
at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:57)
at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:29)
at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:57)
at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:24)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:51)
at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:115)
at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:102)
at org.apache.maven.surefire.Surefire.run(Surefire.java:180)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:350)
at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:1021)
Caused by: org.jboss.arquillian.spi.LifecycleException: Could not connect to container
at org.jboss.arquillian.container.jbossas.remote_6.JBossASRemoteContainer.start(JBossASRemoteContainer.java:90)
at org.jboss.arquillian.impl.handler.ContainerStarter.callback(ContainerStarter.java:52)
at org.jboss.arquillian.impl.handler.ContainerStarter.callback(ContainerStarter.java:41)
at org.jboss.arquillian.impl.event.MapEventManager.fire(MapEventManager.java:63)
... 23 more
Caused by: java.net.BindException: Address already in use: bind
at sun.nio.ch.Net.bind(Native Method)
at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:126)
at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:59)
at sun.net.httpserver.ServerImpl.bind(ServerImpl.java:94)
at sun.net.httpserver.HttpServerImpl.bind(HttpServerImpl.java:36)
at org.jboss.arquillian.container.jbossas.remote_6.JBossASRemoteContainer.start(JBossASRemoteContainer.java:79)
... 26 more
My questions are:
- Does someone know why I get this error?
- Does someone know which port Arquillian tries to use? Or is this the JNDI port which I configured in the jndi.properties?
Note: I tried to run the examples with my JBoss 6 server started, but I also tried without my JBoss 6 server started. In between I restarted my computer completely.
I also tried to set up Arquillian as part of my own maven project. I followed the http://docs.jboss.org/arquillian/reference/latest/en-US/html/gettingstarted.html guide for this. However I get exactly the same error.
Here some information about my environment.
Arquillian version 1.0.0.Alpha4
Maven version 3.02
JBoss version 6 FR
I use this profile:
<profiles>
<profile>
<id>jbossas-remote-6</id>
<dependencies>
<dependency>
<groupId>org.jboss.arquillian.container</groupId>
<artifactId>arquillian-jbossas-remote-6</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.jboss.ejb3</groupId>
<artifactId>jboss-ejb3-api</artifactId>
<version>3.1.0</version>
</dependency>
<dependency>
<groupId>org.jboss.jbossas</groupId>
<artifactId>jboss-as-client</artifactId>
<version>${version.jboss_60}</version>
<type>pom</type>
</dependency>
</dependencies>
<build>
<testResources>
<testResource>
<directory>src/test/jboss-resources</directory>
</testResource>
</testResources>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<excludes>
<exclude>com/acme/cdi/conversation/*</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
I use this jndi.properties file:
java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
java.naming.factory.url.pkgs=org.jboss.naming\:org.jnp.interfaces
java.naming.provider.url=jnp://localhost:1099
I use this arquillian.xml:
<?xml version="1.0" encoding="UTF-8"?>
<arquillian xmlns="http://jboss.com/arquillian"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:jbossas="urn:arq:org.jboss.arquillian.container.jbossas.remote_6">
<jbossas:container>
<jbossas:profileName>default</jbossas:profileName>
<jbossas:remoteServerAddress>localhost</jbossas:remoteServerAddress>
<jbossas:remoteServerHttpPort>8080</jbossas:remoteServerHttpPort>
<jbossas:localDeploymentBindAddress>localhost</jbossas:localDeploymentBindAddress>
<jbossas:localDeploymentBindPort>9999</jbossas:localDeploymentBindPort>
</jbossas:container>
</arquillian>