Yes, my application logic can use it to cycle through all these IPs. Mina
takes an instance of InetSocketAddress class representing one IP address. I
will have to implement multiple connection attempts by
creating InetSocketAddress for each of these IP.

I am not sure if MINA should handle this internally.




On Wed, Dec 19, 2012 at 12:24 PM, Jean-Yves Linet <jy.li...@gmail.com>wrote:

> Sorry I made a mistake. DNS protocol resolve domain name with several IP.
> In java a call to InetAddress.getAllByName( "www.google.com" ) send you
> back all the IP address :
> www.google.com/173.194.34.18
> www.google.com/173.194.34.16
> www.google.com/173.194.34.19
> www.google.com/173.194.34.17
> www.google.com/173.194.34.20
> You can't use this method with Mina ?
>
>
> 2012/12/19 Suhas Sutar <suhassu...@gmail.com>
>
> > In my simple test, I have below code:
> > SocketAddress socketAddress = new InetSocketAddress(hostAddressString,
> > hostPortNumber);
> >
> > Java documentation mentions that this class performs DNS lookups and
> > maintains the DNS cache. I turned the cache off using Java system
> > property "networkaddress.cache.ttl=0".
> >
> > When this line is executed, Java does a DNS lookup and DNS returns two
> > IPs. Please see attached network capture.
> >
> > The InetSocketAddress class provides only one method to get the IP
> > address back and to work with MINA, an instance of this class is
> provided.
> >
> > Now the fact that one IP went down is not reflected in DNS so even though
> > you force DNS lookup, it will return two IPs. The InetSocketAddress.
> > getAddress() returns one of these IPs and there is no guarantee that it
> > would not give me the IP which went down.
> >
> > Thanks
> > Suhas
> >
> >
> >
> > On Wed, Dec 19, 2012 at 11:03 AM, Jean-Yves Linet <jy.li...@gmail.com
> >wrote:
> >
> >> Well I don't know how it could be possible for Java to do a DNS lookup
> and
> >> receive more than one IP. Is this kind of request included in DNS
> protocol
> >> ?? If not it is not a Java limitation, it is just not possible to do.
> >> In your case you could insert two domain name in your client app or you
> >> could add your own load balancing protocol.
> >> BTW did you try to lookup your DNS server with a non java application
> and
> >> see what you get ?
> >>
> >>
> >>
> >>
> >> 2012/12/19 Suhas Sutar <suhassu...@gmail.com>
> >>
> >> > After little more testing, I have concluded that it is not MINA issue.
> >> To
> >> > open a connection to target server, I use below code with MINA:
> >> >
> >> > ======================================
> >> > ExecutorService ioExecutor = Executors.newCachedThreadPool();
> >> > IoConnector ioConnector = new SocketConnector(Runtime.getRuntime()
> >> > .availableProcessors()
> >> > + 1, ioExecutor);
> >> > SocketAddress socketAddress = new InetSocketAddress(hostAddressString,
> >> > hostPortNumber);
> >> > ConnectFuture future = ioConnector.connect(socketAddress);
> >> > ======================================
> >> >
> >> > The InetSocketAddress class internally does a DNS lookup and
> maintains a
> >> > cache of the IP addresses. But it seems that there is no way to
> retrieve
> >> > all the IP addresses associated with a host name. The
> >> > method InetSocketAddress.getAddress() returns only one IP address and
> >> even
> >> > though one of the IPs is unavailable, it would not cycle through the
> >> next
> >> > one. I even turned off the DNS caching using Java system property
> >> > "networkaddress.cache.ttl=0".
> >> >
> >> > Again, it is not caching issue in my opinion. Even though I want to
> >> handle
> >> > it in the application code, the Java APIs does not provide me a way to
> >> know
> >> > that there are multiple IP addresses for a given host.
> >> >
> >> > I am not sure how application developers are handling this situation.
> >> >
> >> >
> >> >
> >> > On Wed, Dec 19, 2012 at 6:14 AM, Emmanuel Lécharny <
> elecha...@gmail.com
> >> > >wrote:
> >> >
> >> > > Le 12/19/12 11:15 AM, Jean-Yves Linet a écrit :
> >> > > > Hi,
> >> > > > Well your problem can have multiple explanations :
> >> > > > Do you remove the down host IP from the DNS list ? Otherwise DNS
> >> server
> >> > > > will continue to use it.
> >> > > > DNS resolution can be cached somewhere. (see networkaddress.cache
> in
> >> > Java
> >> > > > properties)
> >> > > > I doubt that this could be a MINA issue.
> >> > > I was about to do the exact same answer.
> >> > >
> >> > >
> >> > >
> >> > > --
> >> > > Regards,
> >> > > Cordialement,
> >> > > Emmanuel Lécharny
> >> > > www.iktek.com
> >> > >
> >> > >
> >> >
> >>
> >
> >
>

Reply via email to