aboutsummaryrefslogtreecommitdiff
path: root/juick-xmpp/src/main/java/com/juick/components/s2s/DNSQueries.java
diff options
context:
space:
mode:
Diffstat (limited to 'juick-xmpp/src/main/java/com/juick/components/s2s/DNSQueries.java')
-rw-r--r--juick-xmpp/src/main/java/com/juick/components/s2s/DNSQueries.java34
1 files changed, 14 insertions, 20 deletions
diff --git a/juick-xmpp/src/main/java/com/juick/components/s2s/DNSQueries.java b/juick-xmpp/src/main/java/com/juick/components/s2s/DNSQueries.java
index 6de9e15d..887dfc5c 100644
--- a/juick-xmpp/src/main/java/com/juick/components/s2s/DNSQueries.java
+++ b/juick-xmpp/src/main/java/com/juick/components/s2s/DNSQueries.java
@@ -1,5 +1,7 @@
package com.juick.components.s2s;
+import org.apache.commons.lang3.math.NumberUtils;
+
import java.net.InetSocketAddress;
import java.net.UnknownHostException;
import java.util.Hashtable;
@@ -17,31 +19,23 @@ public class DNSQueries {
private static Random rand = new Random();
- public static InetSocketAddress getServerAddress(String hostname) throws UnknownHostException {
+ public static InetSocketAddress getServerAddress(String hostname) throws UnknownHostException, NamingException {
String host = hostname;
int port = 5269;
- try {
- Hashtable<String, String> env = new Hashtable<String, String>(5);
- env.put("java.naming.factory.initial", "com.sun.jndi.dns.DnsContextFactory");
- DirContext ctx = new InitialDirContext(env);
- Attribute att = ctx.getAttributes("_xmpp-server._tcp." + hostname, new String[]{"SRV"}).get("SRV");
-
- if (att != null && att.size() > 0) {
- int i = rand.nextInt(att.size());
- try {
- String srv[] = att.get(i).toString().split(" ");
- port = Integer.parseInt(srv[2]);
- host = srv[3];
- } catch (Exception e) {
- }
- }
-
- ctx.close();
- } catch (NamingException e) {
- }
+ Hashtable<String, String> env = new Hashtable<>(5);
+ env.put("java.naming.factory.initial", "com.sun.jndi.dns.DnsContextFactory");
+ DirContext ctx = new InitialDirContext(env);
+ Attribute att = ctx.getAttributes("_xmpp-server._tcp." + hostname, new String[]{"SRV"}).get("SRV");
+ if (att != null && att.size() > 0) {
+ int i = rand.nextInt(att.size());
+ String srv[] = att.get(i).toString().split(" ");
+ port = NumberUtils.toInt(srv[2], 5269);
+ host = srv[3];
+ }
+ ctx.close();
return new InetSocketAddress(host, port);
}
}