2 Replies Latest reply on Aug 10, 2007 5:28 PM by John Woo

    why need to restart jboss after network changed

    John Woo Newbie

      Hi,

      I'm using JBoss4.x, the problem/question is, whenever a network connection change (ex. changed to wireless, cable unplug and plug again...), then there is exception:

      ERROR [UDP] exception sending msg (to dest=228.1.2.4:45577): java.net.NoRouteToHostException: No route to host: Datagram send failed,,,

      and the client app (even in same machine) has to restart to get connecting with jboss, or jboss has to restart..

      I'm wondering, how to fix thus issue?

      Thanks
      John

        • 1. Re: why need to restart jboss after network changed
          Alan Salewski Newbie

          Perhaps you're getting bit by Java's default DNS caching?

          http://www.rgagnon.com/javadetails/java-0445.html
          http://java.sun.com/j2se/1.5.0/docs/guide/net/properties.html

          From $JRE/lib/security/java.security:

          #
          # The Java-level namelookup cache policy for successful lookups:
          #
          # any negative value: caching forever
          # any positive value: the number of seconds to cache an address for
          # zero: do not cache
          #
          # default value is forever (FOREVER). For security reasons, this
          # caching is made forever when a security manager is set.
          #
          # NOTE: setting this to anything other than the default value can have
          # serious security implications. Do not set it unless
          # you are sure you are not exposed to DNS spoofing attack.
          #
          #networkaddress.cache.ttl=-1

          • 2. Re: why need to restart jboss after network changed
            John Woo Newbie

             

            "salewski" wrote:
            Perhaps you're getting bit by Java's default DNS caching?

            http://www.rgagnon.com/javadetails/java-0445.html
            http://java.sun.com/j2se/1.5.0/docs/guide/net/properties.html

            From $JRE/lib/security/java.security:

            #
            # The Java-level namelookup cache policy for successful lookups:
            #
            # any negative value: caching forever
            # any positive value: the number of seconds to cache an address for
            # zero: do not cache
            #
            # default value is forever (FOREVER). For security reasons, this
            # caching is made forever when a security manager is set.
            #
            # NOTE: setting this to anything other than the default value can have
            # serious security implications. Do not set it unless
            # you are sure you are not exposed to DNS spoofing attack.
            #
            #networkaddress.cache.ttl=-1


            Thanks lots.
            now I set the as following

            networkaddress.cache.ttl=2
            networkaddress.cache.negative.ttl=2

            but if jboss started when the cable is connected, and then unplug the cable (or no internet connection), the client app will have :

            org.jboss.remoting.CannotConnectException: Can not get connection to server. Problem establishing socket connection.

            after that, if cable recovered, then thing is ok;

            if jboss started when cable is unplug, then it doesn't matter whether cable is plug in and plug off, both jboss and client app are working fine.

            so my question is, how to set, so jboss/client always keep running fine regardless cable (both jboss and client ran in same machine)?

            Thanks
            John