Print JNDI tree

Print JNDI tree - welcome to our blog Techno Live, now we will discuss information about the Print JNDI tree, our admins on this blog has been around to collect information you are looking for so that we usakan to display complete information for you, and in this blog, you can also search for other information, ok please continue reading may be easily understood:

This is about : Print JNDI tree
And this article : Print JNDI tree

You can also see our article on:


    Print JNDI tree

    At one point or another most of us would have wanted to see what was in the JNDI tree of the Application Server. This may have been because of a javax.naming.NameNotFoundException thrown by the application under development.

    After scouring the internet and not finding a way to do this seemingly simple task, I put this together in about an hours time.

    import java.util.Hashtable;

    import javax.naming.Context;
    import javax.naming.InitialContext;
    import javax.naming.NameClassPair;
    import javax.naming.NamingEnumeration;
    import javax.naming.NamingException;

    public class JNDITree {
    private Context context = null;

    public static void main(String[] args) throws Exception {
    new JNDITree().printJNDITree("");
    System.out.println("DONE");
    }

    public JNDITree() throws NamingException {
    setEnv();
    }

    /* Please modify this method or comment and use jndi.properties
    */
    public void setEnv() throws NamingException {
    Hashtable env = new Hashtable();
    //OC4J
    // env.put(Context.INITIAL_CONTEXT_FACTORY, "com.evermind.server.rmi.RMIInitialContextFactory");
    // env.put(Context.PROVIDER_URL, "ormi://172.16.x.x:12404");
    // env.put(Context.SECURITY_PRINCIPAL, "admin");
    // env.put(Context.SECURITY_CREDENTIALS, "welcome");
    //JBOSS
    // env.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
    // env.put(Context.URL_PKG_PREFIXES, "org.jboss.naming:org.jnp.interfaces");
    // env.put(Context.PROVIDER_URL, "jnp://172.16.x.x:1099");
    //WEBLOGIC
    // env.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
    // env.put(Context.PROVIDER_URL, "t3://172.16.x.x:7001");


    context = new InitialContext(env);
    }

    public void printJNDITree(String ct) {
    try {
    printNE(context.list(ct), ct);
    } catch (NamingException e) {
    //ignore leaf node exception
    }
    }

    private void printNE(NamingEnumeration ne, String parentctx) throws NamingException {
    while (ne.hasMoreElements()) {
    NameClassPair next = (NameClassPair) ne.nextElement();
    printEntry(next);
    increaseIndent();
    printJNDITree((parentctx.length() == 0) ? next.getName() : parentctx + "/" + next.getName());
    decreaseIndent();
    }
    }

    private void printEntry(NameClassPair next) {
    System.out.println(printIndent() + "-->" + next);
    }


    private int indentLevel = 0;

    private void increaseIndent() {
    indentLevel += 4;
    }

    private void decreaseIndent() {
    indentLevel -= 4;
    }

    private String printIndent() {
    StringBuffer buf = new StringBuffer(indentLevel);
    for (int i = 0; i < indentLevel; i++) {
    buf.append(" ");
    }
    return buf.toString();
    }



    This seemed to have worked very well for me and I thought I'd share it incase any of you have the same need.
    In case anyone has a better way of doing this, kindly comment.

    P.S. Dont forget to edit the setEnv() method to set the InitialContext. Default values have been given for a few App Servers.
    Alternatively, comment the method out and use jndi.properties with values corresponding to your application server.


    Articles Print JNDI tree finished we discussed

    A few of our information about the Print JNDI tree, I hope you can exploit carefully

    No've You've finished reading an article on Print JNDI tree and many articles about modern home in our blog this, please read it. and url link of this article is http://liveeconcerts.blogspot.com/2007/03/print-jndi-tree.html Hopefully discussion articles on provide more knowledge about the world of tech gadgets.

    Tag :

    Related Posts :

    0 Response to "Print JNDI tree"

    Post a Comment