Dante
Dante

Reputation: 334

JBAS012144 Connection timeout

When I try to deploy or undeploy my application(EAR) in JBoss using Maven and Jenkins I get the following error :

INFO: JBoss Remoting version 3.2.12.GA
[DEBUG] 
java.io.IOException: java.net.ConnectException: JBAS012144: Could not     
connect to remote://192.168.1.8:10099. The connection timed out
at org.jboss.as.controller.client.impl.AbstractModelControllerClient.executeForResult(AbstractModelControllerClient.java:129)
at org.jboss.as.controller.client.impl.AbstractModelControllerClient.execute(AbstractModelControllerClient.java:71)
at org.jboss.as.plugin.common.AbstractServerConnection.isDomainServer(AbstractServerConnection.java:234)
at org.jboss.as.plugin.common.AbstractServerConnection.getClient(AbstractServerConnection.java:156)
...

My JBoss server is listening the port 10099 (9999+100) taking into account the following jboss configuration:

<socket-binding-group 
    name="standard-sockets" 
    default-interface="public" 
    port-offset="${jboss.socket.binding.port-offset:100}">
    <socket-binding 
         name="management-native" 
         interface="management"
         port="${jboss.management.native.port:9999}"/>

The Maven plugin configuration :

<plugin>
    <groupId>org.jboss.as.plugins</groupId>
    <artifactId>jboss-as-maven-plugin</artifactId>
    <version>7.6.Final</version>
    <inherited>true</inherited>
    <configuration>
    <!-- <skip>true</skip> -->
    <hostname>${deploy.jboss.host}</hostname>
    <port>${deploy.jboss.port}</port>
    <username>${deploy.jboss.user}</username>
    <password>${deploy.jboss.password}</password>
    <filename>fitness-${stage}-${app.server}.ear</filename>
    <name>fitness-${stage}-${app.server}.ear</name>
     <skip>${skip.deployment}</skip>
     <!--  Logging  ??? not working-->
      <execute-commands>
            <commands>
                 <command>/subsystem=logging/file-handler=debug:add(level=DEBUG,autoflush=true,file={"relative-to"=>"jboss.server.log.dir", "path"=>"jenkins-deployment.log"})
                 </command>
                 <command>/subsystem=logging/logger=org.jboss.as:add(level=DEBUG,handlers=[debug])
                 </command>
            </commands>
        </execute-commands>
       </configuration>                     
       <executions>
            <execution>
                <id>deploy-application</id>
                <goals>
                    <goal>deploy</goal>
                </goals>
            </execution>                    
            <execution>
                <id>undeploying-all-application</id>
                <goals>
                    <goal>undeploy</goal>
                </goals>
                <configuration>
                    <match-pattern>fitness-.*</match-pattern>
                    <matchPatternStrategy>all</matchPatternStrategy>
                </configuration>
            </execution>
        </executions>                       
</plugin>

With the following variables :

Here is my configuration :

Jenkins and the target jboss server are running the same machine identified by the ip 192.168.1.8

My own diagnostic :

If I run

sudo netstat -nlp | grep :10099

I get :

tcp        0      0 0.0.0.0:10099           0.0.0.0:*               LISTEN      25475/java  

And 25475 is my Jboss instance. It seems that JBoss is listening behind the right port.

I can connect using another instance with CLI :

sh jboss-cli.sh controller=192.168.1.8:10099 

Thanks in advance for your help

Upvotes: 1

Views: 6071

Answers (3)

Ariel Carrera
Ariel Carrera

Reputation: 5213

I had same problem and I solved it setting a higher timeout value. For example:

    <plugin>
        <groupId>org.jboss.as.plugins</groupId>
        <artifactId>jboss-as-maven-plugin</artifactId>
        <version>7.9.Final</version>
        <inherited>true</inherited>
        <configuration>
            <hostname>${jboss.hostname}</hostname>
            <port>${jboss.port}</port>
            <username>${jboss.user}</username>
            <password>${jboss.pass}</password>
....
            <timeout>30000</timeout>
....
        </configuration>
    </plugin>

Default "timeout" value is 5000ms. You can try with a higher value like 30000ms. It worked for me.

Edited: As Pedro said, another option can be passing "timeout" to maven via a command line argument. eg. -Djboss-as.timeout=30000

Upvotes: 1

Juriy
Juriy

Reputation: 5111

I had the similar issue, however the fix was different, it might help somebody. I had to change maven plugin to the following one:

<plugin>
    <groupId>org.wildfly.plugins</groupId>
    <artifactId>wildfly-maven-plugin</artifactId>
    <version>1.1.0.Alpha11</version>
</plugin>

Upvotes: 0

Dante
Dante

Reputation: 334

The problem was JDK 7 related. My jenkins server was using Java 1.7 If you want to use the jdk 7 you need to use the following parameter :

-Djava.nio.channels.spi.SelectorProvider=sun.nio.ch.KQueueSelectorProvider

Upvotes: 0

Related Questions