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.
pug puppies for sale,pug puppies for sale near me
BalasHapusteacup pugs for sale,teacup pugs,teacup pug puppies for sale,teacup pug for sale near me,pug for sale near me,pug puppies for sale under,teacup pugs,pug puppies near me,teacup pugs,teacup pug puppies for sale,pug puppy for sale,mini pug,baby pugs for sale,pug breeders near me,pugs puppies for sale,black pug puppies for sale,miniature pug,pug puppies,pugs for sale near me,pugs for sale near me,pugs puppies,teacup pug puppies for sale,pugs for sale,baby pugs for sale
french bulldog pupies for sale
pug puppies for sale
pug puppy for sale near me
French Bulldog Puppy for sale near me
teacup puppies for sale near me
Pug puppies for sale
pugs for sale
teacup pug puppies for sale
teacup pug puppies for sale
This article has lots of knowledge and information. Thank you so much for this good quality blog.
BalasHapuslaptop screen repair Mumbai
laptop charger shop in Mumbai
Laptop KEYBOARD repair Mumbai
Laptop battery replacement mumbai
laptop repair in andheri west
Laptop Repair & Services in Goregaon West
laptop repair and service centre in Malad West
laptop repair service center in wadala