0
우리는 JNDI를 사용하여 DNS 레코드를 쿼리하는 프로젝트를 가지고 있습니다. 프로젝트 자체는 크게 작동하지만 jUnit을 사용하여 JNDI 종속 구성 요소를 테스트하는 간단하고 독립적 인 방법을 찾을 수 없습니다.JNDI DNS 인터페이스 조롱
코드는 로켓 과학과는 거리가 있으며 일반적인 바닐라 JNDI DNS 요청과 매우 비슷합니다.
현재 테스트 장치를 공용 DNS 레코드 (A, MX, TXT 레코드)로 지정하지만 이는 일종의 일종입니다.
...
Hashtable env = new Hashtable();
env.put("java.naming.factory.initial", "com.sun.jndi.dns.DnsContextFactory");
env.put("com.sun.jndi.dns.timeout.initial", timeOut);
env.put("com.sun.jndi.dns.timeout.retries", retries);
env.put("java.naming.provider.url", dns:);
}
Attributes attrs;
try {
DirContext ictx = new InitialDirContext(env);
attrs = ictx.getAttributes(queryInput, new String[]{queryType});
return attrs;
} catch (NameNotFoundException e) {
getLogger().debug("Resolution for domain {} failed due to {}", new Object[]{queryInput, e});
attrs = new BasicAttributes(queryType, "NXDOMAIN",true);
return attrs;
TXT 및 A 응답을 JNDI에 주입하는 방법이 있습니까?