diff --git a/hutool-core/src/main/java/cn/hutool/core/util/JNDIUtil.java b/hutool-core/src/main/java/cn/hutool/core/util/JNDIUtil.java
index 2dc140d87..c6c242e5d 100755
--- a/hutool-core/src/main/java/cn/hutool/core/util/JNDIUtil.java
+++ b/hutool-core/src/main/java/cn/hutool/core/util/JNDIUtil.java
@@ -6,6 +6,7 @@ import cn.hutool.core.map.MapUtil;
import javax.naming.InitialContext;
import javax.naming.NamingException;
+import javax.naming.directory.Attributes;
import javax.naming.directory.InitialDirContext;
import java.util.Hashtable;
import java.util.Map;
@@ -15,6 +16,10 @@ import java.util.Map;
* JNDI是Java Naming and Directory Interface(JAVA命名和目录接口)的英文简写,
* 它是为JAVA应用程序提供命名和目录访问服务的API(Application Programing Interface,应用程序编程接口)。
*
+ *
+ * 见:https://blog.csdn.net/u010430304/article/details/54601302
+ *
+ *
* @author loolY
* @since 5.7.7
*/
@@ -53,4 +58,20 @@ public class JNDIUtil {
throw new UtilException(e);
}
}
+
+ /**
+ * 获取指定容器环境的对象的属性
+ * 如获取DNS属性,则URI为类似:dns:hutool.cn
+ *
+ * @param uri URI字符串,格式为[scheme:][name]/[domain]
+ * @param attrIds 需要获取的属性ID名称
+ * @return {@link Attributes}
+ */
+ public static Attributes getAttributes(String uri, String... attrIds) {
+ try {
+ return createInitialDirContext(null).getAttributes(uri, attrIds);
+ } catch (NamingException e) {
+ throw new UtilException(e);
+ }
+ }
}
diff --git a/hutool-core/src/test/java/cn/hutool/core/util/JNDIUtilTest.java b/hutool-core/src/test/java/cn/hutool/core/util/JNDIUtilTest.java
new file mode 100755
index 000000000..040f75d6d
--- /dev/null
+++ b/hutool-core/src/test/java/cn/hutool/core/util/JNDIUtilTest.java
@@ -0,0 +1,21 @@
+package cn.hutool.core.util;
+
+import cn.hutool.core.collection.EnumerationIter;
+import cn.hutool.core.lang.Console;
+import org.junit.Ignore;
+import org.junit.Test;
+
+import javax.naming.directory.Attribute;
+import javax.naming.directory.Attributes;
+
+public class JNDIUtilTest {
+
+ @Test
+ @Ignore
+ public void getDnsTest(){
+ final Attributes attributes = JNDIUtil.getAttributes("dns:hutool.cn", "TXT");
+ for (Attribute attribute: new EnumerationIter<>(attributes.getAll())){
+ Console.log(attribute);
+ }
+ }
+}