org.apache.rocketmq.shaded.ch.qos.logback.core.util.JNDIUtil Maven / Gradle / Ivy
/**
* Logback: the reliable, generic, fast and flexible logging framework.
* Copyright (C) 1999-2015, QOS.ch. All rights reserved.
*
* This program and the accompanying materials are dual-licensed under
* either the terms of the Eclipse Public License v1.0 as published by
* the Eclipse Foundation
*
* or (per the licensee's choosing)
*
* under the terms of the GNU Lesser General Public License version 2.1
* as published by the Free Software Foundation.
*/
package org.apache.rocketmq.shaded.ch.qos.logback.core.util;
import static org.apache.rocketmq.shaded.ch.qos.logback.core.CoreConstants.JNDI_JAVA_NAMESPACE;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
/**
* A simple utility class to create and use a JNDI Context.
*
* @author Ceki Gülcü
* @author Michael Osipov
* @author Sébastien Pennec
*
*/
public class JNDIUtil {
static final String RESTRICTION_MSG = "JNDI name must start with " + JNDI_JAVA_NAMESPACE + " but was ";
public static Context getInitialContext() throws NamingException {
return new InitialContext();
}
public static String lookup(Context ctx, String name) throws NamingException {
if (ctx == null) {
return null;
}
if (OptionHelper.isEmpty(name)) {
return null;
}
if (!name.startsWith(JNDI_JAVA_NAMESPACE)) {
throw new NamingException(RESTRICTION_MSG + name);
}
Object lookup = ctx.lookup(name);
return lookup == null ? null : lookup.toString();
}
}