1 Reply Latest reply on Dec 5, 2012 10:36 AM by 4ndrew

    Jboss 5.1.0.GA fails to shutdown with 'Could not obtain connection to any of these urls:'

    Johnny Walker Newbie

      I recently attempted a stock install of Jboss 5.1.0.GA and experieced a failure to shutdown with the following error:


      Exception in thread "main" javax.naming.CommunicationException: Could not obtain connection to any of these urls: localhost:1099 [Root exception is javax.naming.CommunicationException: Failed to connect to server localhost/ [Root exception is javax.naming.ServiceUnavailableException: Failed to connect to server localhost/ [Root exception is java.net.ConnectException: Connection refused]]]
              at org.jnp.interfaces.NamingContext.checkRef(NamingContext.java:1763)
              at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:693)
              at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:686)
              at javax.naming.InitialContext.lookup(InitialContext.java:392)
              at org.jboss.Shutdown.main(Shutdown.java:219)

      [stack trace truncated for the sake of brevity]


      The issue is not classpath related as others have had in relation to ClassNotFound errors on shutdown.


      It was clear there was a connection issue to the jnp port on 1099. I checked netstat -an and saw the following:


      jboss_user@server_name:/opt/jboss/jboss-5.1.0.GA/bin% netstat -an | grep 1099
      tcp        0      0*               LISTEN


      I also confirmed using lsof:


      jboss_user@server_name:/opt/jboss/jboss-5.1.0.GA/bin% lsof -i:1099
      java    18738 jboss_user  175u  IPv4 40278677       TCP server_name.company.com:rmiregistry (LISTEN)


      Since it was clear that my jboss process was listening on port 1099 I figured there was an issue with how I was connecting to it. A little googling revealed that the jnp url could specified manually. I have added it to my jboss_init_redhat.sh script changing the folowing 3 lines as shown:






      #JBOSS_CMD_STOP=${JBOSS_CMD_STOP:-"java -classpath $JBOSSCP org.jboss.Shutdown --shutdown"}
      JBOSS_CMD_STOP="$JAVA_HOME/bin/java -classpath $JBOSSCP org.jboss.Shutdown -s jnp://$JBOSS_BIND_ADDR:1099 -


      I also added an echo statement for my shutdown command so that it would be clear what was happenning:


      jboss_user@server_name:/opt/jboss/jboss-5.1.0.GA/bin% ./jboss_init_redhat.sh stop
      JBOSS_CMD_STOP = /opt/java/jdk1.6.0_12/bin/java -classpath /opt/jboss/jboss-5.1.0.GA/bin/shutdown.jar org.jboss.Shutdown -s jnp:// --shutdown
      Shutdown message has been posted to the server.
      Server shutdown may take a while - check logfiles for completion


      I hope this saves some of you some time and energy in getting a stock Jboss 5.1.0.GA up and running - (as well as stopping correctly)